@segment/action-destinations 3.331.1-staging-bfa304a33.0 → 3.331.1-staging-61a2112e4.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 (26) hide show
  1. package/dist/destinations/s3/functions.d.ts +2 -1
  2. package/dist/destinations/s3/functions.js +3 -3
  3. package/dist/destinations/s3/functions.js.map +1 -1
  4. package/dist/destinations/s3/syncToS3/index.js +5 -2
  5. package/dist/destinations/s3/syncToS3/index.js.map +1 -1
  6. package/dist/destinations/sendgrid/index.js +3 -1
  7. package/dist/destinations/sendgrid/index.js.map +1 -1
  8. package/dist/destinations/sendgrid/sendEmail/constants.d.ts +4 -0
  9. package/dist/destinations/sendgrid/sendEmail/constants.js +8 -0
  10. package/dist/destinations/sendgrid/sendEmail/constants.js.map +1 -0
  11. package/dist/destinations/sendgrid/sendEmail/fields.d.ts +2 -0
  12. package/dist/destinations/sendgrid/sendEmail/fields.js +396 -0
  13. package/dist/destinations/sendgrid/sendEmail/fields.js.map +1 -0
  14. package/dist/destinations/sendgrid/sendEmail/generated-types.d.ts +73 -0
  15. package/dist/destinations/sendgrid/sendEmail/generated-types.js +3 -0
  16. package/dist/destinations/sendgrid/sendEmail/generated-types.js.map +1 -0
  17. package/dist/destinations/sendgrid/sendEmail/index.d.ts +5 -0
  18. package/dist/destinations/sendgrid/sendEmail/index.js +14 -0
  19. package/dist/destinations/sendgrid/sendEmail/index.js.map +1 -0
  20. package/dist/destinations/sendgrid/sendEmail/types.d.ts +72 -0
  21. package/dist/destinations/sendgrid/sendEmail/types.js +3 -0
  22. package/dist/destinations/sendgrid/sendEmail/types.js.map +1 -0
  23. package/dist/destinations/sendgrid/sendEmail/utils.d.ts +3 -0
  24. package/dist/destinations/sendgrid/sendEmail/utils.js +86 -0
  25. package/dist/destinations/sendgrid/sendEmail/utils.js.map +1 -0
  26. package/package.json +2 -2
@@ -1,7 +1,8 @@
1
1
  import { Payload } from './syncToS3/generated-types';
2
2
  import { Settings } from './generated-types';
3
3
  import { RawMapping, ColumnHeader } from './types';
4
- export declare function send(payloads: Payload[], settings: Settings, rawMapping: RawMapping): Promise<void>;
4
+ export declare function generateUUID(length?: number): string;
5
+ export declare function send(payloads: Payload[], settings: Settings, rawMapping: RawMapping, syncId: string): Promise<void>;
5
6
  export declare function clean(delimiter: string, str?: string): string;
6
7
  export declare function generateFile(payloads: Payload[], headers: ColumnHeader[], delimiter: string, actionColName?: string, batchColName?: string): string;
7
8
  export declare function encodeString(str: string): string;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getAudienceAction = exports.encodeString = exports.generateFile = exports.clean = exports.send = void 0;
3
+ exports.getAudienceAction = exports.encodeString = exports.generateFile = exports.clean = exports.send = exports.generateUUID = void 0;
4
4
  const client_1 = require("./client");
5
5
  const actions_core_1 = require("@segment/actions-core");
6
6
  function generateUUID(length = 16) {
@@ -12,7 +12,8 @@ function generateUUID(length = 16) {
12
12
  }
13
13
  return result;
14
14
  }
15
- async function send(payloads, settings, rawMapping) {
15
+ exports.generateUUID = generateUUID;
16
+ async function send(payloads, settings, rawMapping, syncId) {
16
17
  const batchSize = payloads[0] && typeof payloads[0].batch_size === 'number' ? payloads[0].batch_size : 0;
17
18
  const delimiter = payloads[0]?.delimiter;
18
19
  const actionColName = payloads[0]?.audience_action_column_name;
@@ -21,7 +22,6 @@ async function send(payloads, settings, rawMapping) {
21
22
  if (batchSize > maxBatchSize) {
22
23
  throw new actions_core_1.IntegrationError(`Batch size cannot exceed ${maxBatchSize}`, 'Invalid Payload', 400);
23
24
  }
24
- const syncId = generateUUID();
25
25
  const headers = Object.entries(rawMapping.columns)
26
26
  .filter(([_, value]) => value !== '')
27
27
  .map(([column]) => {
@@ -1 +1 @@
1
- {"version":3,"file":"functions.js","sourceRoot":"","sources":["../../../src/destinations/s3/functions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"functions.js","sourceRoot":"","sources":["../../../src/destinations/s3/functions.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const fields_1 = require("../fields");
4
4
  const functions_1 = require("../functions");
5
+ const functions_2 = require("../functions");
5
6
  const action = {
6
7
  title: 'Sync to S3',
7
8
  description: 'Syncs Segment event data to S3.',
@@ -10,12 +11,14 @@ const action = {
10
11
  perform: async (_, data) => {
11
12
  const { payload, settings } = data;
12
13
  const rawMapping = data.rawMapping;
13
- return functions_1.send([payload], settings, rawMapping);
14
+ const syncId = functions_2.generateUUID();
15
+ return functions_1.send([payload], settings, rawMapping, syncId);
14
16
  },
15
17
  performBatch: async (_, data) => {
16
18
  const { payload, settings } = data;
17
19
  const rawMapping = data.rawMapping;
18
- return functions_1.send(payload, settings, rawMapping);
20
+ const syncId = functions_2.generateUUID();
21
+ return functions_1.send(payload, settings, rawMapping, syncId);
19
22
  }
20
23
  };
21
24
  exports.default = action;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/s3/syncToS3/index.ts"],"names":[],"mappings":";;AAGA,sCAAwC;AACxC,4CAAmC;AAGnC,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,YAAY;IACnB,WAAW,EAAE,iCAAiC;IAC9C,mBAAmB,EAAE,qCAAqC;IAC1D,MAAM,EAAE,qBAAY;IACpB,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE;QACzB,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAA;QAClC,MAAM,UAAU,GAAgB,IAAwB,CAAC,UAAU,CAAA;QACnE,OAAO,gBAAI,CAAC,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAA;IAC9C,CAAC;IACD,YAAY,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE;QAC9B,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAA;QAClC,MAAM,UAAU,GAAgB,IAAwB,CAAC,UAAU,CAAA;QACnE,OAAO,gBAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAA;IAC5C,CAAC;CACF,CAAA;AAED,kBAAe,MAAM,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/s3/syncToS3/index.ts"],"names":[],"mappings":";;AAGA,sCAAwC;AACxC,4CAAmC;AAEnC,4CAA2C;AAE3C,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,YAAY;IACnB,WAAW,EAAE,iCAAiC;IAC9C,mBAAmB,EAAE,qCAAqC;IAC1D,MAAM,EAAE,qBAAY;IACpB,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE;QACzB,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAA;QAClC,MAAM,UAAU,GAAgB,IAAwB,CAAC,UAAU,CAAA;QACnE,MAAM,MAAM,GAAG,wBAAY,EAAE,CAAA;QAC7B,OAAO,gBAAI,CAAC,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC,CAAA;IACtD,CAAC;IAED,YAAY,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE;QAC9B,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAA;QAClC,MAAM,UAAU,GAAgB,IAAwB,CAAC,UAAU,CAAA;QACnE,MAAM,MAAM,GAAG,wBAAY,EAAE,CAAA;QAC7B,OAAO,gBAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC,CAAA;IACpD,CAAC;CACF,CAAA;AAED,kBAAe,MAAM,CAAA"}
@@ -4,6 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const updateUserProfile_1 = __importDefault(require("./updateUserProfile"));
7
+ const sendEmail_1 = __importDefault(require("./sendEmail"));
7
8
  const destination = {
8
9
  name: 'SendGrid Marketing Campaigns',
9
10
  slug: 'actions-sendgrid',
@@ -32,7 +33,8 @@ const destination = {
32
33
  };
33
34
  },
34
35
  actions: {
35
- updateUserProfile: updateUserProfile_1.default
36
+ updateUserProfile: updateUserProfile_1.default,
37
+ sendEmail: sendEmail_1.default
36
38
  }
37
39
  };
38
40
  exports.default = destination;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/destinations/sendgrid/index.ts"],"names":[],"mappings":";;;;;AAGA,4EAAmD;AAEnD,MAAM,WAAW,GAAoC;IACnD,IAAI,EAAE,8BAA8B;IACpC,IAAI,EAAE,kBAAkB;IACxB,IAAI,EAAE,OAAO;IACb,WAAW,EAAE,8DAA8D;IAE3E,cAAc,EAAE;QACd,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE;YACN,cAAc,EAAE;gBACd,KAAK,EAAE,SAAS;gBAChB,IAAI,EAAE,UAAU;gBAChB,WAAW,EAAE,wCAAwC;gBACrD,QAAQ,EAAE,IAAI;aACf;SACF;QACD,kBAAkB,EAAE,CAAC,OAAO,EAAE,EAAE;YAI9B,OAAO,OAAO,CAAC,0CAA0C,CAAC,CAAA;QAC5D,CAAC;KACF;IAED,aAAa,CAAC,EAAE,QAAQ,EAAE;QACxB,OAAO;YACL,OAAO,EAAE;gBACP,aAAa,EAAE,UAAU,QAAQ,CAAC,cAAc,EAAE;gBAClD,MAAM,EAAE,kBAAkB;aAC3B;SACF,CAAA;IACH,CAAC;IAED,OAAO,EAAE;QACP,iBAAiB,EAAjB,2BAAiB;KAClB;CACF,CAAA;AAED,kBAAe,WAAW,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/destinations/sendgrid/index.ts"],"names":[],"mappings":";;;;;AAGA,4EAAmD;AAEnD,4DAAmC;AAEnC,MAAM,WAAW,GAAoC;IACnD,IAAI,EAAE,8BAA8B;IACpC,IAAI,EAAE,kBAAkB;IACxB,IAAI,EAAE,OAAO;IACb,WAAW,EAAE,8DAA8D;IAE3E,cAAc,EAAE;QACd,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE;YACN,cAAc,EAAE;gBACd,KAAK,EAAE,SAAS;gBAChB,IAAI,EAAE,UAAU;gBAChB,WAAW,EAAE,wCAAwC;gBACrD,QAAQ,EAAE,IAAI;aACf;SACF;QACD,kBAAkB,EAAE,CAAC,OAAO,EAAE,EAAE;YAI9B,OAAO,OAAO,CAAC,0CAA0C,CAAC,CAAA;QAC5D,CAAC;KACF;IAED,aAAa,CAAC,EAAE,QAAQ,EAAE;QACxB,OAAO;YACL,OAAO,EAAE;gBACP,aAAa,EAAE,UAAU,QAAQ,CAAC,cAAc,EAAE;gBAClD,MAAM,EAAE,kBAAkB;aAC3B;SACF,CAAA;IACH,CAAC;IAED,OAAO,EAAE;QACP,iBAAiB,EAAjB,2BAAiB;QACjB,SAAS,EAAT,mBAAS;KACV;CACF,CAAA;AAED,kBAAe,WAAW,CAAA"}
@@ -0,0 +1,4 @@
1
+ export declare const RESERVED_HEADERS: string[];
2
+ export declare const MAX_CATEGORY_LENGTH = 255;
3
+ export declare const MIN_IP_POOL_NAME_LENGTH = 2;
4
+ export declare const MAX_IP_POOL_NAME_LENGTH = 64;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MAX_IP_POOL_NAME_LENGTH = exports.MIN_IP_POOL_NAME_LENGTH = exports.MAX_CATEGORY_LENGTH = exports.RESERVED_HEADERS = void 0;
4
+ exports.RESERVED_HEADERS = ["x-sg-id", "x-sg-eid", "received", "dkim-signature", "Content-Type", "Content-Transfer-Encoding", "To", "From", "Subject", "Reply-To", "CC", "BCC"];
5
+ exports.MAX_CATEGORY_LENGTH = 255;
6
+ exports.MIN_IP_POOL_NAME_LENGTH = 2;
7
+ exports.MAX_IP_POOL_NAME_LENGTH = 64;
8
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/destinations/sendgrid/sendEmail/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,gBAAgB,GAAG,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,gBAAgB,EAAE,cAAc,EAAE,2BAA2B,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;AAEvK,QAAA,mBAAmB,GAAG,GAAG,CAAA;AAEzB,QAAA,uBAAuB,GAAG,CAAC,CAAA;AAE3B,QAAA,uBAAuB,GAAG,EAAE,CAAA"}
@@ -0,0 +1,2 @@
1
+ import { InputField } from '@segment/actions-core';
2
+ export declare const fields: Record<string, InputField>;
@@ -0,0 +1,396 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.fields = void 0;
4
+ exports.fields = {
5
+ from: {
6
+ label: 'From',
7
+ description: 'From details.',
8
+ type: 'object',
9
+ required: true,
10
+ additionalProperties: false,
11
+ defaultObjectUI: 'keyvalue',
12
+ properties: {
13
+ email: {
14
+ label: 'Email',
15
+ description: 'The email address of the sender.',
16
+ type: 'string',
17
+ required: true
18
+ },
19
+ name: {
20
+ label: 'Name',
21
+ description: 'From name of the sender, displayed to the recipient.',
22
+ type: 'string',
23
+ required: false
24
+ }
25
+ }
26
+ },
27
+ to: {
28
+ label: 'To',
29
+ description: 'Recipient details.',
30
+ type: 'object',
31
+ multiple: true,
32
+ required: true,
33
+ additionalProperties: false,
34
+ defaultObjectUI: 'keyvalue',
35
+ properties: {
36
+ email: {
37
+ label: 'Email',
38
+ description: 'The email address of the recipient.',
39
+ type: 'string',
40
+ required: true
41
+ },
42
+ name: {
43
+ label: 'Name',
44
+ description: 'The name of the recipient.',
45
+ type: 'string',
46
+ required: false
47
+ }
48
+ }
49
+ },
50
+ cc: {
51
+ label: 'CC',
52
+ description: 'CC recipient details',
53
+ type: 'object',
54
+ multiple: true,
55
+ required: false,
56
+ additionalProperties: false,
57
+ defaultObjectUI: 'keyvalue',
58
+ properties: {
59
+ email: {
60
+ label: 'Email',
61
+ description: 'The email address of the CC recipient.',
62
+ type: 'string',
63
+ required: true
64
+ },
65
+ name: {
66
+ label: 'Name',
67
+ description: 'The name of the CC recipient.',
68
+ type: 'string',
69
+ required: false
70
+ }
71
+ }
72
+ },
73
+ bcc: {
74
+ label: 'BCC',
75
+ description: 'BCC recipient details',
76
+ type: 'object',
77
+ multiple: true,
78
+ required: false,
79
+ additionalProperties: false,
80
+ defaultObjectUI: 'keyvalue',
81
+ properties: {
82
+ email: {
83
+ label: 'Email',
84
+ description: 'The email address of the BCC recipient.',
85
+ type: 'string',
86
+ required: true
87
+ },
88
+ name: {
89
+ label: 'Name',
90
+ description: 'The name of the BCC recipient.',
91
+ type: 'string',
92
+ required: false
93
+ }
94
+ }
95
+ },
96
+ subject: {
97
+ label: 'Subject',
98
+ description: 'The subject of the email.',
99
+ type: 'string',
100
+ required: true
101
+ },
102
+ headers: {
103
+ label: 'Headers',
104
+ description: 'Headers for the email.',
105
+ type: 'object',
106
+ required: false,
107
+ additionalProperties: true,
108
+ defaultObjectUI: 'keyvalue',
109
+ },
110
+ dynamic_template_data: {
111
+ label: 'Dynamic Template Data',
112
+ description: 'A collection property names that will be substituted by their corresponding property values in the subject, reply-to and content portions of a SendGrid Dynamic Template.',
113
+ type: 'object',
114
+ multiple: true,
115
+ required: false,
116
+ defaultObjectUI: 'keyvalue',
117
+ additionalProperties: true,
118
+ properties: {
119
+ key: {
120
+ label: 'Key',
121
+ description: 'The key of the dynamic template data.',
122
+ type: 'string',
123
+ required: true
124
+ },
125
+ value: {
126
+ label: 'Value',
127
+ description: 'The value of the dynamic template data.',
128
+ type: 'string',
129
+ required: true
130
+ },
131
+ required: {
132
+ label: 'Required',
133
+ description: 'If true, the email will not be sent if the Value field is empty, unless there is a default specified.',
134
+ type: 'boolean',
135
+ required: true,
136
+ default: false
137
+ },
138
+ default: {
139
+ label: 'Default value',
140
+ description: 'The default value to use if the value field is empty.',
141
+ type: 'string',
142
+ required: false
143
+ }
144
+ }
145
+ },
146
+ template_id: {
147
+ label: 'Template ID',
148
+ description: "The template ID to use for the email. This must be for a Dynamic Template and should start with a 'd-'",
149
+ type: 'string',
150
+ required: true
151
+ },
152
+ custom_args: {
153
+ label: 'Custom Args',
154
+ description: 'Custom arguments for the email.',
155
+ type: 'object',
156
+ required: false,
157
+ additionalProperties: true,
158
+ defaultObjectUI: 'keyvalue',
159
+ },
160
+ send_at: {
161
+ label: 'Send At',
162
+ 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.',
163
+ type: 'string',
164
+ format: 'date-time',
165
+ required: false,
166
+ },
167
+ reply_to: {
168
+ label: 'Reply To',
169
+ description: 'Reply to details.',
170
+ type: 'object',
171
+ required: true,
172
+ additionalProperties: false,
173
+ defaultObjectUI: 'keyvalue',
174
+ properties: {
175
+ reply_to_equals_from: {
176
+ label: 'Reply To Equals From',
177
+ description: 'Whether "reply to" settings are the same as "from"',
178
+ type: 'boolean',
179
+ required: true,
180
+ default: true
181
+ },
182
+ email: {
183
+ label: 'Email',
184
+ description: 'The email to reply to.',
185
+ type: 'string',
186
+ required: false
187
+ },
188
+ name: {
189
+ label: 'Name',
190
+ description: 'The name to reply to.',
191
+ type: 'string',
192
+ required: false
193
+ }
194
+ }
195
+ },
196
+ click_tracking: {
197
+ label: 'Click Tracking',
198
+ description: 'Click tracking settings for the email.',
199
+ type: 'object',
200
+ required: false,
201
+ additionalProperties: false,
202
+ defaultObjectUI: 'keyvalue',
203
+ properties: {
204
+ enable: {
205
+ label: 'Enabled',
206
+ description: 'Indicates if this setting is enabled',
207
+ type: 'boolean',
208
+ required: true,
209
+ default: true
210
+ },
211
+ enable_text: {
212
+ label: 'Enable Text',
213
+ description: 'Indicates if this setting should be included in the text/plain portion of your email.',
214
+ type: 'boolean',
215
+ required: false,
216
+ default: false
217
+ }
218
+ }
219
+ },
220
+ open_tracking: {
221
+ label: 'Open Tracking',
222
+ description: 'Allows you to track if the email was opened by including a single transparent pixel image in the body of the message content.',
223
+ type: 'object',
224
+ required: false,
225
+ additionalProperties: false,
226
+ defaultObjectUI: 'keyvalue',
227
+ properties: {
228
+ enable: {
229
+ label: 'Enabled',
230
+ description: 'Indicates if this setting is enabled',
231
+ type: 'boolean',
232
+ required: true,
233
+ default: true
234
+ },
235
+ substitution_tag: {
236
+ label: 'Substitution Tag',
237
+ description: 'Allows you to specify a substitution tag that you can insert in the body of your email at a location that you desire. This tag will be replaced by the open tracking pixel.',
238
+ type: 'string',
239
+ required: false
240
+ }
241
+ }
242
+ },
243
+ subscription_tracking: {
244
+ label: 'Subscription Tracking',
245
+ description: 'Allows you to insert a subscription management link at the bottom of the text and HTML bodies of your email.',
246
+ type: 'object',
247
+ required: false,
248
+ additionalProperties: false,
249
+ defaultObjectUI: 'keyvalue',
250
+ properties: {
251
+ enable: {
252
+ label: 'Enabled',
253
+ description: 'Indicates if this setting is enabled',
254
+ type: 'boolean',
255
+ required: true,
256
+ default: false
257
+ },
258
+ text: {
259
+ label: 'Text',
260
+ description: 'Text to be appended to the email with the subscription tracking link.',
261
+ type: 'string',
262
+ required: false
263
+ },
264
+ html: {
265
+ label: 'HTML',
266
+ description: 'HTML to be appended to the email with the subscription tracking link.',
267
+ type: 'string',
268
+ required: false
269
+ },
270
+ substitution_tag: {
271
+ label: 'Substitution Tag',
272
+ 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.',
273
+ type: 'string',
274
+ required: false
275
+ }
276
+ }
277
+ },
278
+ categories: {
279
+ label: 'Categories',
280
+ description: 'Categories for the email.',
281
+ type: 'object',
282
+ multiple: true,
283
+ required: false,
284
+ defaultObjectUI: 'keyvalue',
285
+ additionalProperties: false,
286
+ properties: {
287
+ category: {
288
+ label: 'Category name',
289
+ description: 'Category name.',
290
+ type: 'string',
291
+ required: true
292
+ }
293
+ }
294
+ },
295
+ googleAnalytics: {
296
+ label: 'Google Analytics',
297
+ description: 'Allows you to enable tracking provided by Google Analytics.',
298
+ type: 'object',
299
+ required: false,
300
+ defaultObjectUI: 'keyvalue',
301
+ additionalProperties: false,
302
+ properties: {
303
+ enable: {
304
+ label: 'Enabled',
305
+ description: 'Indicates if this setting is enabled',
306
+ type: 'boolean',
307
+ required: true,
308
+ default: false
309
+ },
310
+ utm_source: {
311
+ label: 'UTM Source',
312
+ description: 'Name of the referrer source. (e.g., Google, SomeDomain.com, or Marketing Email)',
313
+ type: 'string',
314
+ required: false
315
+ },
316
+ utm_medium: {
317
+ label: 'UTM Medium',
318
+ description: 'Name of the marketing medium. (e.g., Email)',
319
+ type: 'string',
320
+ required: false
321
+ },
322
+ utm_term: {
323
+ label: 'UTM Term',
324
+ description: 'Used to identify any paid keywords.',
325
+ type: 'string',
326
+ required: false
327
+ },
328
+ utm_content: {
329
+ label: 'UTM Content',
330
+ description: 'Used to differentiate your campaign from advertisements.',
331
+ type: 'string',
332
+ required: false
333
+ },
334
+ utm_campaign: {
335
+ label: 'UTM Campaign',
336
+ description: 'The name of the campaign.',
337
+ type: 'string',
338
+ required: false
339
+ }
340
+ }
341
+ },
342
+ ip_pool_name: {
343
+ label: 'IP Pool',
344
+ description: 'Send email with an ip pool.',
345
+ type: 'string',
346
+ required: false
347
+ },
348
+ ASM: {
349
+ label: 'Subscription Settings',
350
+ description: 'Subscription settings for the email.',
351
+ type: 'object',
352
+ required: false,
353
+ defaultObjectUI: 'keyvalue',
354
+ additionalProperties: false,
355
+ properties: {
356
+ groupId: {
357
+ label: 'Subscription Group ID',
358
+ description: 'Specify a Subscription Group ID to ensure emails are sent to only users who are subscribed to that group.',
359
+ type: 'integer',
360
+ required: false
361
+ }
362
+ }
363
+ },
364
+ mail_settings: {
365
+ label: 'Mail Settings',
366
+ description: 'A collection of different mail settings that you can use to specify how you would like this email to be handled.',
367
+ type: 'object',
368
+ required: false,
369
+ additionalProperties: false,
370
+ defaultObjectUI: 'keyvalue',
371
+ properties: {
372
+ bypass_list_management: {
373
+ label: 'Bypass List Management',
374
+ description: 'Allows you to bypass all unsubscribe groups and suppressions to ensure that the email is delivered to every single recipient.',
375
+ type: 'boolean',
376
+ required: false,
377
+ default: false
378
+ },
379
+ bypass_unsubscribe_management: {
380
+ label: 'Bypass Unsubscribe Management',
381
+ description: 'Allows you to bypass the global unsubscribe list to ensure that the email is delivered to recipients. This filter applies only to global unsubscribes and will not bypass group unsubscribes. This filter cannot be combined with the bypass_list_management.',
382
+ type: 'boolean',
383
+ required: false,
384
+ default: false
385
+ },
386
+ sandbox_mode: {
387
+ label: 'Sandbox Mode',
388
+ description: 'Sandbox Mode allows you to send a test email to ensure that your request body is valid and formatted correctly.',
389
+ type: 'boolean',
390
+ required: false,
391
+ default: false
392
+ }
393
+ }
394
+ }
395
+ };
396
+ //# 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,73 @@
1
+ export interface Payload {
2
+ from: {
3
+ email: string;
4
+ name?: string;
5
+ };
6
+ to: {
7
+ email: string;
8
+ name?: string;
9
+ }[];
10
+ cc?: {
11
+ email: string;
12
+ name?: string;
13
+ }[];
14
+ bcc?: {
15
+ email: string;
16
+ name?: string;
17
+ }[];
18
+ subject: string;
19
+ headers?: {
20
+ [k: string]: unknown;
21
+ };
22
+ dynamic_template_data?: {
23
+ key: string;
24
+ value: string;
25
+ required: boolean;
26
+ default?: string;
27
+ [k: string]: unknown;
28
+ }[];
29
+ template_id: string;
30
+ custom_args?: {
31
+ [k: string]: unknown;
32
+ };
33
+ send_at?: string;
34
+ reply_to: {
35
+ reply_to_equals_from: boolean;
36
+ email?: string;
37
+ name?: string;
38
+ };
39
+ click_tracking?: {
40
+ enable: boolean;
41
+ enable_text?: boolean;
42
+ };
43
+ open_tracking?: {
44
+ enable: boolean;
45
+ substitution_tag?: string;
46
+ };
47
+ subscription_tracking?: {
48
+ enable: boolean;
49
+ text?: string;
50
+ html?: string;
51
+ substitution_tag?: string;
52
+ };
53
+ categories?: {
54
+ category: string;
55
+ }[];
56
+ googleAnalytics?: {
57
+ enable: boolean;
58
+ utm_source?: string;
59
+ utm_medium?: string;
60
+ utm_term?: string;
61
+ utm_content?: string;
62
+ utm_campaign?: string;
63
+ };
64
+ ip_pool_name?: string;
65
+ ASM?: {
66
+ groupId?: number;
67
+ };
68
+ mail_settings?: {
69
+ bypass_list_management?: boolean;
70
+ bypass_unsubscribe_management?: boolean;
71
+ sandbox_mode?: boolean;
72
+ };
73
+ }
@@ -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,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const utils_1 = require("./utils");
4
+ const fields_1 = require("./fields");
5
+ const action = {
6
+ title: 'Send email with Dynamic Template',
7
+ description: 'Send email to recipient(s) using a Dynamic Template in Sendgrid',
8
+ fields: fields_1.fields,
9
+ perform: async (request, { payload }) => {
10
+ return await utils_1.send(request, payload);
11
+ }
12
+ };
13
+ exports.default = action;
14
+ //# 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;AAEjC,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,kCAAkC;IACzC,WAAW,EAAE,iEAAiE;IAC9E,MAAM,EAAN,eAAM;IACN,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,72 @@
1
+ export interface sendEmailReq {
2
+ personalizations: [
3
+ {
4
+ from: {
5
+ email: string;
6
+ name: string | undefined;
7
+ };
8
+ to: {
9
+ email: string;
10
+ name: string | undefined;
11
+ }[];
12
+ cc?: {
13
+ email: string;
14
+ name: string | undefined;
15
+ }[];
16
+ bcc?: {
17
+ email: string;
18
+ name?: string;
19
+ }[];
20
+ subject: string;
21
+ headers?: {
22
+ [key: string]: string;
23
+ };
24
+ dynamic_template_data?: {
25
+ [key: string]: string;
26
+ };
27
+ custom_args?: {
28
+ [key: string]: string;
29
+ };
30
+ send_at?: number;
31
+ }
32
+ ];
33
+ reply_to?: {
34
+ email: string;
35
+ name?: string;
36
+ };
37
+ template_id: string;
38
+ categories?: string[];
39
+ asm?: {
40
+ group_id: number;
41
+ };
42
+ ip_pool_name?: string;
43
+ tracking_settings?: {
44
+ click_tracking?: {
45
+ enable: boolean;
46
+ enable_text?: boolean;
47
+ };
48
+ open_tracking?: {
49
+ enable: boolean;
50
+ substitution_tag?: string;
51
+ };
52
+ subscription_tracking?: {
53
+ enable: boolean;
54
+ text?: string;
55
+ html?: string;
56
+ substitution_tag?: string;
57
+ };
58
+ ganalytics?: {
59
+ enable: boolean;
60
+ utm_source?: string;
61
+ utm_medium?: string;
62
+ utm_term?: string;
63
+ utm_content?: string;
64
+ utm_campaign?: string;
65
+ };
66
+ };
67
+ mail_settings?: {
68
+ bypass_list_management?: boolean;
69
+ bypass_unsubscribe_management?: boolean;
70
+ sandbox_mode?: boolean;
71
+ };
72
+ }
@@ -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,86 @@
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 json = {
9
+ personalizations: [{
10
+ from: { email: payload.from.email, name: payload.from?.name ?? undefined },
11
+ to: payload.to.map(to => ({ email: to.email, name: to?.name ?? undefined })),
12
+ cc: payload.cc?.map(cc => ({ email: cc.email, name: cc?.name ?? undefined })) ?? undefined,
13
+ bcc: payload.bcc?.map(bcc => ({ email: bcc.email, name: bcc?.name ?? undefined })) ?? undefined,
14
+ subject: payload.subject,
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?.reduce((acc, item) => {
20
+ acc[item.key] = item.value ?? item.default;
21
+ return acc;
22
+ }, {}),
23
+ custom_args: Object.entries(payload?.custom_args ?? {}).reduce((acc, [key, value]) => {
24
+ acc[key] = String(value);
25
+ return acc;
26
+ }, {}) || undefined,
27
+ send_at: toUnixTS(payload.send_at) ?? undefined
28
+ }],
29
+ reply_to: {
30
+ email: (payload.reply_to.reply_to_equals_from ? payload.from.email : payload.reply_to.email),
31
+ name: payload.reply_to.reply_to_equals_from ? payload.from.name : payload.reply_to.name
32
+ },
33
+ template_id: payload.template_id,
34
+ categories: payload.categories?.map(category => category.category),
35
+ asm: payload.ASM ? { group_id: payload.ASM.groupId } : undefined,
36
+ ip_pool_name: payload.ip_pool_name,
37
+ tracking_settings: {
38
+ click_tracking: payload.click_tracking ?? undefined,
39
+ open_tracking: payload.open_tracking ?? undefined,
40
+ subscription_tracking: payload.subscription_tracking ?? undefined,
41
+ ganalytics: payload.googleAnalytics ?? undefined
42
+ },
43
+ mail_settings: payload.mail_settings ?? undefined
44
+ };
45
+ return await request('https://api.sendgrid.com/v3/mail/send', {
46
+ method: 'post',
47
+ json
48
+ });
49
+ }
50
+ exports.send = send;
51
+ function toUnixTS(date) {
52
+ if (typeof date === 'undefined') {
53
+ return undefined;
54
+ }
55
+ return new Date(date).getTime();
56
+ }
57
+ function validate(payload) {
58
+ if (!payload.reply_to.reply_to_equals_from && !payload.reply_to.email) {
59
+ throw new actions_core_1.PayloadValidationError("'Reply To >> Email' must be provided if 'Reply To Equals From' is set to true");
60
+ }
61
+ if (Object.keys(payload?.headers ?? {}).some(key => constants_1.RESERVED_HEADERS.includes(key))) {
62
+ throw new actions_core_1.PayloadValidationError(`Headers cannot contain any of the following reserved headers: ${constants_1.RESERVED_HEADERS.join(', ')}`);
63
+ }
64
+ payload.dynamic_template_data?.forEach(item => {
65
+ if (item.required && !item.value && !item.default) {
66
+ throw new actions_core_1.PayloadValidationError(`Dynamic Template Data with key '${item.key}' is required and cannot be empty`);
67
+ }
68
+ });
69
+ payload?.categories?.forEach(category => {
70
+ if (category.category.length >= constants_1.MAX_CATEGORY_LENGTH) {
71
+ throw new actions_core_1.PayloadValidationError(`Category with name ${category.category} exceeds the max length of ${constants_1.MAX_CATEGORY_LENGTH} characters`);
72
+ }
73
+ });
74
+ if (payload.send_at) {
75
+ const sendAt = new Date(payload.send_at);
76
+ const now = new Date();
77
+ if (sendAt.getTime() < now.getTime() || sendAt.getTime() > now.getTime() + 72 * 60 * 60 * 1000) {
78
+ throw new actions_core_1.PayloadValidationError('send_at should be less than 72 hours from now');
79
+ }
80
+ }
81
+ if (payload.ip_pool_name && (payload.ip_pool_name.length >= constants_1.MAX_IP_POOL_NAME_LENGTH || payload.ip_pool_name.length <= constants_1.MIN_IP_POOL_NAME_LENGTH)) {
82
+ 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`);
83
+ }
84
+ return;
85
+ }
86
+ //# 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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"}
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.331.1-staging-bfa304a33.0",
4
+ "version": "3.331.1-staging-61a2112e4.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": "906a0e32e324a4243f2617ea75eb5344f1eb2771"
91
+ "gitHead": "055809bba41d6a3be335b65d2ed00d16eb3bf5c4"
92
92
  }