@segment/action-destinations 3.338.0 → 3.338.1-staging-5a1a8b003.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 (121) hide show
  1. package/dist/destinations/first-party-dv360/addToAudMobileDeviceId/generated-types.d.ts +5 -0
  2. package/dist/destinations/first-party-dv360/addToAudMobileDeviceId/generated-types.js.map +1 -0
  3. package/dist/destinations/first-party-dv360/addToAudMobileDeviceId/index.d.ts +5 -0
  4. package/dist/destinations/first-party-dv360/addToAudMobileDeviceId/index.js +24 -0
  5. package/dist/destinations/first-party-dv360/addToAudMobileDeviceId/index.js.map +1 -0
  6. package/dist/destinations/first-party-dv360/addtoAudContactInfo/generated-types.d.ts +10 -0
  7. package/dist/destinations/first-party-dv360/addtoAudContactInfo/generated-types.js +3 -0
  8. package/dist/destinations/first-party-dv360/addtoAudContactInfo/generated-types.js.map +1 -0
  9. package/dist/destinations/first-party-dv360/addtoAudContactInfo/index.d.ts +5 -0
  10. package/dist/destinations/first-party-dv360/addtoAudContactInfo/index.js +29 -0
  11. package/dist/destinations/first-party-dv360/addtoAudContactInfo/index.js.map +1 -0
  12. package/dist/destinations/first-party-dv360/functions.d.ts +23 -1
  13. package/dist/destinations/first-party-dv360/functions.js +133 -1
  14. package/dist/destinations/first-party-dv360/functions.js.map +1 -1
  15. package/dist/destinations/first-party-dv360/generated-types.d.ts +0 -1
  16. package/dist/destinations/first-party-dv360/index.js +12 -19
  17. package/dist/destinations/first-party-dv360/index.js.map +1 -1
  18. package/dist/destinations/first-party-dv360/properties.d.ts +12 -0
  19. package/dist/destinations/first-party-dv360/properties.js +94 -0
  20. package/dist/destinations/first-party-dv360/properties.js.map +1 -0
  21. package/dist/destinations/first-party-dv360/removeFromAudContactInfo/generated-types.d.ts +10 -0
  22. package/dist/destinations/first-party-dv360/removeFromAudContactInfo/generated-types.js +3 -0
  23. package/dist/destinations/first-party-dv360/removeFromAudContactInfo/generated-types.js.map +1 -0
  24. package/dist/destinations/first-party-dv360/removeFromAudContactInfo/index.d.ts +5 -0
  25. package/dist/destinations/first-party-dv360/removeFromAudContactInfo/index.js +29 -0
  26. package/dist/destinations/first-party-dv360/removeFromAudContactInfo/index.js.map +1 -0
  27. package/dist/destinations/first-party-dv360/removeFromAudMobileDeviceId/generated-types.d.ts +5 -0
  28. package/dist/destinations/first-party-dv360/removeFromAudMobileDeviceId/generated-types.js +3 -0
  29. package/dist/destinations/first-party-dv360/removeFromAudMobileDeviceId/generated-types.js.map +1 -0
  30. package/dist/destinations/first-party-dv360/removeFromAudMobileDeviceId/index.d.ts +5 -0
  31. package/dist/destinations/first-party-dv360/removeFromAudMobileDeviceId/index.js +24 -0
  32. package/dist/destinations/first-party-dv360/removeFromAudMobileDeviceId/index.js.map +1 -0
  33. package/dist/destinations/google-enhanced-conversions/functions.d.ts +1 -1
  34. package/dist/destinations/google-enhanced-conversions/functions.js +1 -1
  35. package/dist/destinations/index.js +1 -1
  36. package/dist/destinations/klaviyo/addProfileToList/index.js +1 -13
  37. package/dist/destinations/klaviyo/addProfileToList/index.js.map +1 -1
  38. package/dist/destinations/klaviyo/functions.d.ts +11 -4
  39. package/dist/destinations/klaviyo/functions.js +251 -2
  40. package/dist/destinations/klaviyo/functions.js.map +1 -1
  41. package/dist/destinations/klaviyo/properties.d.ts +2 -0
  42. package/dist/destinations/klaviyo/properties.js +4 -2
  43. package/dist/destinations/klaviyo/properties.js.map +1 -1
  44. package/dist/destinations/klaviyo/trackEvent/index.js +8 -3
  45. package/dist/destinations/klaviyo/trackEvent/index.js.map +1 -1
  46. package/dist/destinations/klaviyo/types.d.ts +18 -0
  47. package/dist/destinations/klaviyo/upsertProfile/index.js +1 -1
  48. package/dist/destinations/mixpanel/__test__/multistatus.test.d.ts +1 -0
  49. package/dist/destinations/mixpanel/__test__/multistatus.test.js +347 -0
  50. package/dist/destinations/mixpanel/__test__/multistatus.test.js.map +1 -0
  51. package/dist/destinations/mixpanel/common/utils.d.ts +15 -0
  52. package/dist/destinations/mixpanel/common/utils.js +27 -1
  53. package/dist/destinations/mixpanel/common/utils.js.map +1 -1
  54. package/dist/destinations/mixpanel/trackEvent/functions.js +1 -1
  55. package/dist/destinations/mixpanel/trackEvent/functions.js.map +1 -1
  56. package/dist/destinations/mixpanel/trackEvent/index.js +30 -3
  57. package/dist/destinations/mixpanel/trackEvent/index.js.map +1 -1
  58. package/dist/destinations/mixpanel/trackPurchase/index.js +32 -3
  59. package/dist/destinations/mixpanel/trackPurchase/index.js.map +1 -1
  60. package/dist/destinations/responsys/index.js +14 -5
  61. package/dist/destinations/responsys/index.js.map +1 -1
  62. package/dist/destinations/responsys/sendAudience/index.js +1 -1
  63. package/dist/destinations/responsys/sendAudienceAsPet/functions.d.ts +10 -0
  64. package/dist/destinations/responsys/sendAudienceAsPet/functions.js +152 -0
  65. package/dist/destinations/responsys/sendAudienceAsPet/functions.js.map +1 -0
  66. package/dist/destinations/responsys/sendAudienceAsPet/generated-types.d.ts +15 -0
  67. package/dist/destinations/responsys/sendAudienceAsPet/generated-types.js +3 -0
  68. package/dist/destinations/responsys/sendAudienceAsPet/generated-types.js.map +1 -0
  69. package/dist/destinations/responsys/sendAudienceAsPet/index.js +143 -0
  70. package/dist/destinations/responsys/sendAudienceAsPet/index.js.map +1 -0
  71. package/dist/destinations/responsys/sendCustomTraits/index.js +1 -1
  72. package/dist/destinations/responsys/{shared_properties.js → shared-properties.js} +1 -1
  73. package/dist/destinations/responsys/{shared_properties.js.map → shared-properties.js.map} +1 -1
  74. package/dist/destinations/responsys/types.d.ts +18 -9
  75. package/dist/destinations/responsys/upsertListMember/index.js +1 -1
  76. package/dist/destinations/responsys/utils.d.ts +5 -4
  77. package/dist/destinations/responsys/utils.js +14 -42
  78. package/dist/destinations/responsys/utils.js.map +1 -1
  79. package/dist/destinations/s3/fields.js +9 -0
  80. package/dist/destinations/s3/fields.js.map +1 -1
  81. package/dist/destinations/s3/functions.d.ts +2 -1
  82. package/dist/destinations/s3/functions.js +14 -3
  83. package/dist/destinations/s3/functions.js.map +1 -1
  84. package/dist/destinations/s3/syncToS3/generated-types.d.ts +1 -0
  85. package/dist/destinations/s3/syncToS3/index.js +4 -2
  86. package/dist/destinations/s3/syncToS3/index.js.map +1 -1
  87. package/dist/destinations/sendgrid/index.js +3 -1
  88. package/dist/destinations/sendgrid/index.js.map +1 -1
  89. package/dist/destinations/sendgrid/sendEmail/constants.d.ts +10 -0
  90. package/dist/destinations/sendgrid/sendEmail/constants.js +27 -0
  91. package/dist/destinations/sendgrid/sendEmail/constants.js.map +1 -0
  92. package/dist/destinations/sendgrid/sendEmail/dynamic-fields.d.ts +6 -0
  93. package/dist/destinations/sendgrid/sendEmail/dynamic-fields.js +135 -0
  94. package/dist/destinations/sendgrid/sendEmail/dynamic-fields.js.map +1 -0
  95. package/dist/destinations/sendgrid/sendEmail/fields.d.ts +2 -0
  96. package/dist/destinations/sendgrid/sendEmail/fields.js +291 -0
  97. package/dist/destinations/sendgrid/sendEmail/fields.js.map +1 -0
  98. package/dist/destinations/sendgrid/sendEmail/generated-types.d.ts +53 -0
  99. package/dist/destinations/sendgrid/sendEmail/generated-types.js +3 -0
  100. package/dist/destinations/sendgrid/sendEmail/generated-types.js.map +1 -0
  101. package/dist/destinations/sendgrid/sendEmail/index.d.ts +5 -0
  102. package/dist/destinations/sendgrid/sendEmail/index.js +29 -0
  103. package/dist/destinations/sendgrid/sendEmail/index.js.map +1 -0
  104. package/dist/destinations/sendgrid/sendEmail/types.d.ts +51 -0
  105. package/dist/destinations/sendgrid/sendEmail/types.js +3 -0
  106. package/dist/destinations/sendgrid/sendEmail/types.js.map +1 -0
  107. package/dist/destinations/sendgrid/sendEmail/utils.d.ts +3 -0
  108. package/dist/destinations/sendgrid/sendEmail/utils.js +98 -0
  109. package/dist/destinations/sendgrid/sendEmail/utils.js.map +1 -0
  110. package/dist/destinations/webhook-audiences/__test__/index.test.js +0 -38
  111. package/dist/destinations/webhook-audiences/__test__/index.test.js.map +1 -1
  112. package/dist/destinations/webhook-audiences/index.js +14 -2
  113. package/dist/destinations/webhook-audiences/index.js.map +1 -1
  114. package/package.json +4 -4
  115. package/dist/destinations/first-party-dv360/addToList/generated-types.d.ts +0 -2
  116. package/dist/destinations/first-party-dv360/addToList/generated-types.js.map +0 -1
  117. package/dist/destinations/first-party-dv360/addToList/index.js +0 -11
  118. package/dist/destinations/first-party-dv360/addToList/index.js.map +0 -1
  119. /package/dist/destinations/first-party-dv360/{addToList → addToAudMobileDeviceId}/generated-types.js +0 -0
  120. /package/dist/destinations/{first-party-dv360/addToList → responsys/sendAudienceAsPet}/index.d.ts +0 -0
  121. /package/dist/destinations/responsys/{shared_properties.d.ts → shared-properties.d.ts} +0 -0
@@ -0,0 +1,291 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.fields = void 0;
4
+ exports.fields = {
5
+ domain: {
6
+ label: 'Validated Domain',
7
+ description: 'The domain to use for the email. This field is optional but recommended. If you do not provide a domain, Sendgrid will attempt to send the email based on the from address, and may fail if the domain in the from address is not validated.',
8
+ type: 'string',
9
+ required: false,
10
+ dynamic: true
11
+ },
12
+ from: {
13
+ label: 'From',
14
+ description: 'From details.',
15
+ type: 'object',
16
+ required: true,
17
+ additionalProperties: false,
18
+ defaultObjectUI: 'keyvalue',
19
+ properties: {
20
+ email: {
21
+ label: 'Email',
22
+ description: 'The email address of the sender.',
23
+ type: 'string',
24
+ required: true
25
+ },
26
+ name: {
27
+ label: 'Name',
28
+ description: 'From name of the sender, displayed to the recipient.',
29
+ type: 'string',
30
+ required: false
31
+ }
32
+ }
33
+ },
34
+ to: {
35
+ label: 'To',
36
+ description: 'Recipient details.',
37
+ type: 'object',
38
+ multiple: true,
39
+ required: true,
40
+ additionalProperties: false,
41
+ defaultObjectUI: 'keyvalue',
42
+ properties: {
43
+ email: {
44
+ label: 'Email',
45
+ description: 'The email address of the recipient.',
46
+ type: 'string',
47
+ required: true
48
+ },
49
+ name: {
50
+ label: 'Name',
51
+ description: 'The name of the recipient.',
52
+ type: 'string',
53
+ required: false
54
+ }
55
+ }
56
+ },
57
+ cc: {
58
+ label: 'CC',
59
+ description: 'CC recipient details',
60
+ type: 'object',
61
+ multiple: true,
62
+ required: false,
63
+ additionalProperties: false,
64
+ defaultObjectUI: 'keyvalue',
65
+ properties: {
66
+ email: {
67
+ label: 'Email',
68
+ description: 'The email address of the CC recipient.',
69
+ type: 'string',
70
+ required: true
71
+ },
72
+ name: {
73
+ label: 'Name',
74
+ description: 'The name of the CC recipient.',
75
+ type: 'string',
76
+ required: false
77
+ }
78
+ }
79
+ },
80
+ bcc: {
81
+ label: 'BCC',
82
+ description: 'BCC recipient details',
83
+ type: 'object',
84
+ multiple: true,
85
+ required: false,
86
+ additionalProperties: false,
87
+ defaultObjectUI: 'keyvalue',
88
+ properties: {
89
+ email: {
90
+ label: 'Email',
91
+ description: 'The email address of the BCC recipient.',
92
+ type: 'string',
93
+ required: true
94
+ },
95
+ name: {
96
+ label: 'Name',
97
+ description: 'The name of the BCC recipient.',
98
+ type: 'string',
99
+ required: false
100
+ }
101
+ }
102
+ },
103
+ headers: {
104
+ label: 'Headers',
105
+ description: 'Headers for the email.',
106
+ type: 'object',
107
+ required: false,
108
+ additionalProperties: true,
109
+ defaultObjectUI: 'keyvalue'
110
+ },
111
+ dynamic_template_data: {
112
+ label: 'Dynamic Template Data',
113
+ description: 'A collection of property names that will be substituted by their corresponding property values in the subject, reply-to and content portions of a SendGrid Dynamic Template.',
114
+ type: 'object',
115
+ required: false,
116
+ defaultObjectUI: 'keyvalue',
117
+ additionalProperties: true
118
+ },
119
+ template_id: {
120
+ label: 'Template ID',
121
+ description: "The template ID to use for the email. This must be for a Dynamic Template and should start with a 'd-'",
122
+ type: 'string',
123
+ required: true,
124
+ dynamic: true
125
+ },
126
+ custom_args: {
127
+ label: 'Custom Args',
128
+ description: 'Custom arguments for the email.',
129
+ type: 'object',
130
+ required: false,
131
+ additionalProperties: true,
132
+ defaultObjectUI: 'keyvalue'
133
+ },
134
+ send_at: {
135
+ label: 'Send At',
136
+ description: 'The time to send the email. ISO 8601 format. E.g. 2024-09-23T12:00:00Z. A send cannot be scheduled more than 72 hours in advance.',
137
+ type: 'string',
138
+ format: 'date-time',
139
+ required: false
140
+ },
141
+ reply_to: {
142
+ label: 'Reply To',
143
+ description: 'Reply to details.',
144
+ type: 'object',
145
+ required: true,
146
+ additionalProperties: false,
147
+ defaultObjectUI: 'keyvalue',
148
+ properties: {
149
+ reply_to_equals_from: {
150
+ label: 'Reply To Equals From',
151
+ description: 'Whether "reply to" settings are the same as "from"',
152
+ type: 'boolean',
153
+ required: true
154
+ },
155
+ email: {
156
+ label: 'Email',
157
+ description: 'The email to reply to.',
158
+ type: 'string',
159
+ required: false
160
+ },
161
+ name: {
162
+ label: 'Name',
163
+ description: 'The name to reply to.',
164
+ type: 'string',
165
+ required: false
166
+ }
167
+ },
168
+ default: {
169
+ reply_to_equals_from: true
170
+ }
171
+ },
172
+ subscription_tracking: {
173
+ label: 'Subscription Tracking',
174
+ description: 'Allows you to insert a subscription management link at the bottom of the text and HTML bodies of your email.',
175
+ type: 'object',
176
+ required: false,
177
+ additionalProperties: false,
178
+ defaultObjectUI: 'keyvalue',
179
+ properties: {
180
+ enable: {
181
+ label: 'Enabled',
182
+ description: 'Indicates if this setting is enabled',
183
+ type: 'boolean',
184
+ required: true
185
+ },
186
+ text: {
187
+ label: 'Text',
188
+ description: 'Text to be appended to the email with the subscription tracking link.',
189
+ type: 'string',
190
+ required: false
191
+ },
192
+ html: {
193
+ label: 'HTML',
194
+ description: 'HTML to be appended to the email with the subscription tracking link.',
195
+ type: 'string',
196
+ required: false
197
+ },
198
+ substitution_tag: {
199
+ label: 'Substitution Tag',
200
+ description: 'A tag that will be replaced with the unsubscribe URL. If this property is used, it will override both the text and html properties.',
201
+ type: 'string',
202
+ required: false
203
+ }
204
+ },
205
+ default: {
206
+ enable: false
207
+ }
208
+ },
209
+ categories: {
210
+ label: 'Categories',
211
+ description: 'Categories for the email.',
212
+ type: 'string',
213
+ multiple: true,
214
+ required: false
215
+ },
216
+ google_analytics: {
217
+ label: 'Google Analytics',
218
+ description: 'Allows you to enable tracking provided by Google Analytics.',
219
+ type: 'object',
220
+ required: false,
221
+ defaultObjectUI: 'keyvalue',
222
+ additionalProperties: false,
223
+ properties: {
224
+ enable: {
225
+ label: 'Enabled',
226
+ description: 'Indicates if this setting is enabled',
227
+ type: 'boolean',
228
+ required: true
229
+ },
230
+ utm_source: {
231
+ label: 'UTM Source',
232
+ description: 'Name of the referrer source. (e.g., Google, SomeDomain.com, or Marketing Email)',
233
+ type: 'string',
234
+ required: false
235
+ },
236
+ utm_medium: {
237
+ label: 'UTM Medium',
238
+ description: 'Name of the marketing medium. (e.g., Email)',
239
+ type: 'string',
240
+ required: false
241
+ },
242
+ utm_term: {
243
+ label: 'UTM Term',
244
+ description: 'Used to identify any paid keywords.',
245
+ type: 'string',
246
+ required: false
247
+ },
248
+ utm_content: {
249
+ label: 'UTM Content',
250
+ description: 'Used to differentiate your campaign from advertisements.',
251
+ type: 'string',
252
+ required: false
253
+ },
254
+ utm_campaign: {
255
+ label: 'UTM Campaign',
256
+ description: 'The name of the campaign.',
257
+ type: 'string',
258
+ required: false
259
+ }
260
+ },
261
+ default: {
262
+ enable: true,
263
+ utm_source: { '@path': '$.context.campaign.source' },
264
+ utm_medium: { '@path': '$.context.campaign.medium' },
265
+ utm_term: { '@path': '$.context.campaign.term' },
266
+ utm_content: { '@path': '$.context.campaign.content' },
267
+ utm_campaign: { '@path': '$.context.campaign.name' }
268
+ }
269
+ },
270
+ ip_pool_name: {
271
+ label: 'IP Pool',
272
+ description: 'Send email with an ip pool.',
273
+ type: 'string',
274
+ required: false,
275
+ dynamic: true
276
+ },
277
+ group_id: {
278
+ label: 'Group ID',
279
+ description: 'Specify a Group ID',
280
+ type: 'string',
281
+ required: false,
282
+ dynamic: true
283
+ },
284
+ sandbox_mode: {
285
+ label: 'Sandbox Mode',
286
+ description: 'Sandbox Mode allows you to send a test email to ensure that your request body is valid and formatted correctly.',
287
+ type: 'boolean',
288
+ required: false
289
+ }
290
+ };
291
+ //# sourceMappingURL=fields.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fields.js","sourceRoot":"","sources":["../../../../src/destinations/sendgrid/sendEmail/fields.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ export interface Payload {
2
+ domain?: string;
3
+ from: {
4
+ email: string;
5
+ name?: string;
6
+ };
7
+ to: {
8
+ email: string;
9
+ name?: string;
10
+ }[];
11
+ cc?: {
12
+ email: string;
13
+ name?: string;
14
+ }[];
15
+ bcc?: {
16
+ email: string;
17
+ name?: string;
18
+ }[];
19
+ headers?: {
20
+ [k: string]: unknown;
21
+ };
22
+ dynamic_template_data?: {
23
+ [k: string]: unknown;
24
+ };
25
+ template_id: string;
26
+ custom_args?: {
27
+ [k: string]: unknown;
28
+ };
29
+ send_at?: string;
30
+ reply_to: {
31
+ reply_to_equals_from: boolean;
32
+ email?: string;
33
+ name?: string;
34
+ };
35
+ subscription_tracking?: {
36
+ enable: boolean;
37
+ text?: string;
38
+ html?: string;
39
+ substitution_tag?: string;
40
+ };
41
+ categories?: string[];
42
+ google_analytics?: {
43
+ enable: boolean;
44
+ utm_source?: string;
45
+ utm_medium?: string;
46
+ utm_term?: string;
47
+ utm_content?: string;
48
+ utm_campaign?: string;
49
+ };
50
+ ip_pool_name?: string;
51
+ group_id?: string;
52
+ sandbox_mode?: boolean;
53
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=generated-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generated-types.js","sourceRoot":"","sources":["../../../../src/destinations/sendgrid/sendEmail/generated-types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ import { ActionDefinition } from '@segment/actions-core';
2
+ import type { Settings } from '../generated-types';
3
+ import type { Payload } from './generated-types';
4
+ declare const action: ActionDefinition<Settings, Payload>;
5
+ export default action;
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const utils_1 = require("./utils");
4
+ const fields_1 = require("./fields");
5
+ const dynamic_fields_1 = require("./dynamic-fields");
6
+ const action = {
7
+ title: 'Send email with Dynamic Template',
8
+ description: 'Send email to recipient(s) using a Dynamic Template in Sendgrid',
9
+ fields: fields_1.fields,
10
+ dynamicFields: {
11
+ template_id: async (request) => {
12
+ return await dynamic_fields_1.dynamicTemplateId(request);
13
+ },
14
+ ip_pool_name: async (request) => {
15
+ return await dynamic_fields_1.dynamicIpPoolNames(request);
16
+ },
17
+ domain: async (request) => {
18
+ return await dynamic_fields_1.dynamicDomain(request);
19
+ },
20
+ group_id: async (request) => {
21
+ return await dynamic_fields_1.dynamicGroupId(request);
22
+ }
23
+ },
24
+ perform: async (request, { payload }) => {
25
+ return await utils_1.send(request, payload);
26
+ }
27
+ };
28
+ exports.default = action;
29
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/sendgrid/sendEmail/index.ts"],"names":[],"mappings":";;AAGA,mCAA8B;AAC9B,qCAAiC;AACjC,qDAAuG;AAEvG,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,kCAAkC;IACzC,WAAW,EAAE,iEAAiE;IAC9E,MAAM,EAAN,eAAM;IACN,aAAa,EAAE;QACb,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YAC7B,OAAO,MAAM,kCAAiB,CAAC,OAAO,CAAC,CAAA;QACzC,CAAC;QACD,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YAC9B,OAAO,MAAM,mCAAkB,CAAC,OAAO,CAAC,CAAA;QAC1C,CAAC;QACD,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACxB,OAAO,MAAM,8BAAa,CAAC,OAAO,CAAC,CAAA;QACrC,CAAC;QACD,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YAC1B,OAAO,MAAM,+BAAc,CAAC,OAAO,CAAC,CAAA;QACtC,CAAC;KACF;IACD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;QACtC,OAAO,MAAM,YAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IACrC,CAAC;CACF,CAAA;AAED,kBAAe,MAAM,CAAA"}
@@ -0,0 +1,51 @@
1
+ interface EmailDetails {
2
+ email: string;
3
+ name: string | undefined;
4
+ }
5
+ interface StringObject {
6
+ [key: string]: string;
7
+ }
8
+ export interface SendEmailReq {
9
+ domain?: string;
10
+ personalizations: [
11
+ {
12
+ to: EmailDetails[];
13
+ cc?: EmailDetails[];
14
+ bcc?: EmailDetails[];
15
+ headers?: StringObject;
16
+ dynamic_template_data?: {
17
+ [k: string]: unknown;
18
+ };
19
+ custom_args?: StringObject;
20
+ send_at?: number;
21
+ }
22
+ ];
23
+ from: EmailDetails;
24
+ reply_to?: EmailDetails;
25
+ template_id: string;
26
+ categories?: string[];
27
+ asm?: {
28
+ group_id: number;
29
+ };
30
+ ip_pool_name?: string;
31
+ tracking_settings?: {
32
+ subscription_tracking?: {
33
+ enable: boolean;
34
+ text?: string;
35
+ html?: string;
36
+ substitution_tag?: string;
37
+ };
38
+ ganalytics?: {
39
+ enable: boolean;
40
+ utm_source?: string;
41
+ utm_medium?: string;
42
+ utm_term?: string;
43
+ utm_content?: string;
44
+ utm_campaign?: string;
45
+ };
46
+ };
47
+ mail_settings?: {
48
+ sandbox_mode?: boolean;
49
+ };
50
+ }
51
+ export {};
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/destinations/sendgrid/sendEmail/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ import { RequestClient } from '@segment/actions-core';
2
+ import type { Payload } from './generated-types';
3
+ export declare function send(request: RequestClient, payload: Payload): Promise<import("@segment/actions-core").ModifiedResponse<unknown>>;
@@ -0,0 +1,98 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.send = void 0;
4
+ const actions_core_1 = require("@segment/actions-core");
5
+ const constants_1 = require("./constants");
6
+ async function send(request, payload) {
7
+ validate(payload);
8
+ const groupId = getIntFromString(payload.group_id);
9
+ const json = {
10
+ personalizations: [
11
+ {
12
+ to: payload.to.map((to) => ({ email: to.email, name: to?.name ?? undefined })),
13
+ cc: payload.cc?.map((cc) => ({ email: cc.email, name: cc?.name ?? undefined })) ?? undefined,
14
+ bcc: payload.bcc?.map((bcc) => ({ email: bcc.email, name: bcc?.name ?? undefined })) ?? undefined,
15
+ headers: Object.entries(payload?.headers ?? {}).reduce((acc, [key, value]) => {
16
+ acc[key] = String(value);
17
+ return acc;
18
+ }, {}) || undefined,
19
+ dynamic_template_data: payload.dynamic_template_data,
20
+ custom_args: payload?.custom_args && Object.keys(payload.custom_args).length > 0
21
+ ? Object.fromEntries(Object.entries(payload.custom_args).map(([key, value]) => [key, String(value)]))
22
+ : undefined,
23
+ send_at: toUnixTS(payload.send_at) ?? undefined
24
+ }
25
+ ],
26
+ from: { email: payload.from.email, name: payload.from?.name ?? undefined },
27
+ reply_to: {
28
+ email: (payload.reply_to.reply_to_equals_from ? payload.from.email : payload.reply_to.email),
29
+ name: payload.reply_to.reply_to_equals_from ? payload.from.name : payload.reply_to.name
30
+ },
31
+ template_id: payload.template_id,
32
+ categories: payload.categories,
33
+ asm: typeof groupId === 'number' ? { group_id: groupId } : undefined,
34
+ ip_pool_name: payload.ip_pool_name,
35
+ tracking_settings: {
36
+ subscription_tracking: payload.subscription_tracking ?? undefined,
37
+ ganalytics: payload.google_analytics ?? undefined
38
+ },
39
+ mail_settings: typeof payload.sandbox_mode === 'boolean' ? { sandbox_mode: payload.sandbox_mode } : undefined
40
+ };
41
+ return await request(constants_1.SEND_EMAIL_URL, {
42
+ method: 'post',
43
+ json
44
+ });
45
+ }
46
+ exports.send = send;
47
+ function toUnixTS(date) {
48
+ if (typeof date === 'undefined' || date === null || date === '') {
49
+ return undefined;
50
+ }
51
+ return new Date(date).getTime();
52
+ }
53
+ function getIntFromString(value) {
54
+ const regex = /^\d+/;
55
+ const match = regex.exec(value ?? '');
56
+ if (match) {
57
+ const maybeInt = parseInt(match[0], 10);
58
+ if (!isNaN(maybeInt)) {
59
+ return maybeInt;
60
+ }
61
+ }
62
+ return undefined;
63
+ }
64
+ function validate(payload) {
65
+ if (payload.group_id && typeof getIntFromString(payload.group_id) !== 'number') {
66
+ throw new actions_core_1.PayloadValidationError('Group ID value must be a numberic (integer) string');
67
+ }
68
+ if (payload.domain && !payload.from.email.endsWith(payload.domain)) {
69
+ throw new actions_core_1.PayloadValidationError('From email must be from the selected domain');
70
+ }
71
+ if (!payload.template_id.startsWith('d-')) {
72
+ throw new actions_core_1.PayloadValidationError('Template ID must refer to a Dynamic Template. Dynamic Template IDs start with "d-"');
73
+ }
74
+ if (!payload.reply_to.reply_to_equals_from && !payload.reply_to.email) {
75
+ throw new actions_core_1.PayloadValidationError("'Reply To >> Email' must be provided if 'Reply To Equals From' is set to true");
76
+ }
77
+ if (Object.keys(payload?.headers ?? {}).some((key) => constants_1.RESERVED_HEADERS.includes(key))) {
78
+ throw new actions_core_1.PayloadValidationError(`Headers cannot contain any of the following reserved headers: ${constants_1.RESERVED_HEADERS.join(', ')}`);
79
+ }
80
+ payload?.categories?.forEach((category) => {
81
+ if (category.length > constants_1.MAX_CATEGORY_LENGTH) {
82
+ throw new actions_core_1.PayloadValidationError(`Category with name ${category} exceeds the max length of ${constants_1.MAX_CATEGORY_LENGTH} characters`);
83
+ }
84
+ });
85
+ if (payload.send_at) {
86
+ const sendAt = new Date(payload.send_at);
87
+ const now = new Date();
88
+ if (sendAt.getTime() < now.getTime() || sendAt.getTime() > now.getTime() + 72 * 60 * 60 * 1000) {
89
+ throw new actions_core_1.PayloadValidationError('send_at should be less than 72 hours from now');
90
+ }
91
+ }
92
+ if (payload.ip_pool_name &&
93
+ (payload.ip_pool_name.length >= constants_1.MAX_IP_POOL_NAME_LENGTH || payload.ip_pool_name.length <= constants_1.MIN_IP_POOL_NAME_LENGTH)) {
94
+ throw new actions_core_1.PayloadValidationError(`IP Pool Name should at least ${constants_1.MIN_IP_POOL_NAME_LENGTH} characters and at most ${constants_1.MAX_IP_POOL_NAME_LENGTH} characters in length`);
95
+ }
96
+ return;
97
+ }
98
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/destinations/sendgrid/sendEmail/utils.ts"],"names":[],"mappings":"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"}
@@ -10,44 +10,6 @@ const actions_core_1 = require("@segment/actions-core");
10
10
  webhook_test_1.baseWebhookTests(index_1.default);
11
11
  const testDestination = actions_core_1.createTestIntegration(index_1.default);
12
12
  describe('Webhook Audience Tests', () => {
13
- it('creates an audience', async () => {
14
- const fakeUrl = 'http://segmentfake.xyz';
15
- const exampleRequest = {
16
- audienceName: 'My Cool Audience',
17
- nice: 'ok'
18
- };
19
- const exampleResponse = {
20
- externalId: 'abc123xyz'
21
- };
22
- nock_1.default(fakeUrl).post('/', exampleRequest).reply(200, exampleResponse);
23
- const expectedResponse = await testDestination.createAudience({
24
- audienceName: 'My Cool Audience',
25
- audienceSettings: {
26
- extras: JSON.stringify({ nice: 'ok' })
27
- },
28
- settings: { createAudienceUrl: fakeUrl }
29
- });
30
- expect(expectedResponse).toStrictEqual(exampleResponse);
31
- });
32
- it('gets an audience', async () => {
33
- const fakeUrl = 'http://segmentfake.xyz';
34
- const exampleRequest = {
35
- externalId: 'abc123xyz',
36
- nice: 'ok'
37
- };
38
- const exampleResponse = {
39
- externalId: 'abc123xyz'
40
- };
41
- nock_1.default(fakeUrl).post('/', exampleRequest).reply(200, exampleResponse);
42
- const expectedResponse = await testDestination.getAudience({
43
- externalId: 'abc123xyz',
44
- settings: { getAudienceUrl: fakeUrl },
45
- audienceSettings: {
46
- extras: JSON.stringify({ nice: 'ok' })
47
- }
48
- });
49
- expect(expectedResponse).toStrictEqual(exampleResponse);
50
- });
51
13
  it('send through audience extra settings', async () => {
52
14
  const url = 'https://example.com';
53
15
  const event = actions_core_1.createTestEvent({
@@ -1 +1 @@
1
- {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../../../src/destinations/webhook-audiences/__test__/index.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../../../src/destinations/webhook-audiences/__test__/index.test.ts"],"names":[],"mappings":";;;;;AAAA,qDAAsC;AACtC,sEAAsE;AACtE,gDAAuB;AACvB,wDAA8E;AAE9E,+BAAgB,CAAC,eAAe,CAAC,CAAA;AAEjC,MAAM,eAAe,GAAG,oCAAqB,CAAC,eAAe,CAAC,CAAA;AAC9D,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IA6CtC,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;QACpD,MAAM,GAAG,GAAG,qBAAqB,CAAA;QACjC,MAAM,KAAK,GAAG,8BAAe,CAAC;YAC5B,OAAO,EAAE;gBACP,QAAQ,EAAE;oBACR,iBAAiB,EAAE;wBACjB,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;qBACvC;iBACF;aACF;SACF,CAAC,CAAA;QAEF,cAAI,CAAC,GAAG,CAAC;aACN,IAAI,CAAC,GAAG,CAAC;aACT,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,CAAA;QAE9C,MAAM,SAAS,GAAG,MAAM,eAAe,CAAC,UAAU,CAAC,MAAM,EAAE;YACzD,KAAK;YACL,OAAO,EAAE;gBACP,GAAG;aACJ;YACD,kBAAkB,EAAE,IAAI;SACzB,CAAC,CAAA;QAEF,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAChC,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAA;QAC7B,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;QAClC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACjC,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}