@segment/action-destinations 3.342.0 → 3.343.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 (171) hide show
  1. package/dist/destinations/facebook-conversions-api/addToCart/generated-types.d.ts +1 -0
  2. package/dist/destinations/facebook-conversions-api/addToCart/index.js +4 -2
  3. package/dist/destinations/facebook-conversions-api/addToCart/index.js.map +1 -1
  4. package/dist/destinations/facebook-conversions-api/addToCart2/generated-types.d.ts +1 -0
  5. package/dist/destinations/facebook-conversions-api/addToCart2/index.js +4 -2
  6. package/dist/destinations/facebook-conversions-api/addToCart2/index.js.map +1 -1
  7. package/dist/destinations/facebook-conversions-api/custom/generated-types.d.ts +1 -0
  8. package/dist/destinations/facebook-conversions-api/custom/index.js +4 -2
  9. package/dist/destinations/facebook-conversions-api/custom/index.js.map +1 -1
  10. package/dist/destinations/facebook-conversions-api/custom2/generated-types.d.ts +1 -0
  11. package/dist/destinations/facebook-conversions-api/custom2/index.js +4 -2
  12. package/dist/destinations/facebook-conversions-api/custom2/index.js.map +1 -1
  13. package/dist/destinations/facebook-conversions-api/fb-capi-properties.d.ts +1 -0
  14. package/dist/destinations/facebook-conversions-api/fb-capi-properties.js +7 -1
  15. package/dist/destinations/facebook-conversions-api/fb-capi-properties.js.map +1 -1
  16. package/dist/destinations/facebook-conversions-api/index.js +1 -1
  17. package/dist/destinations/facebook-conversions-api/index.js.map +1 -1
  18. package/dist/destinations/facebook-conversions-api/initiateCheckout/generated-types.d.ts +1 -0
  19. package/dist/destinations/facebook-conversions-api/initiateCheckout/index.js +4 -2
  20. package/dist/destinations/facebook-conversions-api/initiateCheckout/index.js.map +1 -1
  21. package/dist/destinations/facebook-conversions-api/initiateCheckout2/generated-types.d.ts +1 -0
  22. package/dist/destinations/facebook-conversions-api/initiateCheckout2/index.js +4 -2
  23. package/dist/destinations/facebook-conversions-api/initiateCheckout2/index.js.map +1 -1
  24. package/dist/destinations/facebook-conversions-api/pageView/generated-types.d.ts +1 -0
  25. package/dist/destinations/facebook-conversions-api/pageView/index.js +4 -2
  26. package/dist/destinations/facebook-conversions-api/pageView/index.js.map +1 -1
  27. package/dist/destinations/facebook-conversions-api/pageView2/generated-types.d.ts +1 -0
  28. package/dist/destinations/facebook-conversions-api/pageView2/index.js +4 -2
  29. package/dist/destinations/facebook-conversions-api/pageView2/index.js.map +1 -1
  30. package/dist/destinations/facebook-conversions-api/purchase/generated-types.d.ts +1 -0
  31. package/dist/destinations/facebook-conversions-api/purchase/index.js +4 -2
  32. package/dist/destinations/facebook-conversions-api/purchase/index.js.map +1 -1
  33. package/dist/destinations/facebook-conversions-api/purchase2/generated-types.d.ts +1 -0
  34. package/dist/destinations/facebook-conversions-api/purchase2/index.js +4 -2
  35. package/dist/destinations/facebook-conversions-api/purchase2/index.js.map +1 -1
  36. package/dist/destinations/facebook-conversions-api/search/generated-types.d.ts +1 -0
  37. package/dist/destinations/facebook-conversions-api/search/index.js +4 -2
  38. package/dist/destinations/facebook-conversions-api/search/index.js.map +1 -1
  39. package/dist/destinations/facebook-conversions-api/search2/generated-types.d.ts +1 -0
  40. package/dist/destinations/facebook-conversions-api/search2/index.js +4 -2
  41. package/dist/destinations/facebook-conversions-api/search2/index.js.map +1 -1
  42. package/dist/destinations/facebook-conversions-api/viewContent/generated-types.d.ts +1 -0
  43. package/dist/destinations/facebook-conversions-api/viewContent/index.js +4 -2
  44. package/dist/destinations/facebook-conversions-api/viewContent/index.js.map +1 -1
  45. package/dist/destinations/facebook-conversions-api/viewContent2/generated-types.d.ts +1 -0
  46. package/dist/destinations/facebook-conversions-api/viewContent2/index.js +4 -2
  47. package/dist/destinations/facebook-conversions-api/viewContent2/index.js.map +1 -1
  48. package/dist/destinations/google-enhanced-conversions/functions.d.ts +24 -0
  49. package/dist/destinations/google-enhanced-conversions/functions.js +9 -2
  50. package/dist/destinations/google-enhanced-conversions/functions.js.map +1 -1
  51. package/dist/destinations/hubspot/upsertCompany/index.js +10 -10
  52. package/dist/destinations/hubspot/upsertCompany/index.js.map +1 -1
  53. package/dist/destinations/hubspot/upsertContact/index.js +12 -12
  54. package/dist/destinations/hubspot/upsertContact/index.js.map +1 -1
  55. package/dist/destinations/hubspot/utils.js +4 -0
  56. package/dist/destinations/hubspot/utils.js.map +1 -1
  57. package/dist/destinations/index.js +2 -0
  58. package/dist/destinations/index.js.map +1 -1
  59. package/dist/destinations/iterable/trackEvent/index.js +1 -1
  60. package/dist/destinations/iterable/trackEvent/index.js.map +1 -1
  61. package/dist/destinations/iterable/updateUser/index.js +1 -1
  62. package/dist/destinations/iterable/updateUser/index.js.map +1 -1
  63. package/dist/destinations/iterable-lists/generated-types.d.ts +1 -1
  64. package/dist/destinations/iterable-lists/index.js +2 -2
  65. package/dist/destinations/iterable-lists/index.js.map +1 -1
  66. package/dist/destinations/iterable-lists/syncAudience/generated-types.d.ts +3 -1
  67. package/dist/destinations/iterable-lists/syncAudience/index.js +3 -3
  68. package/dist/destinations/iterable-lists/syncAudience/index.js.map +1 -1
  69. package/dist/destinations/iterable-lists/syncAudience/iterable-client.d.ts +1 -1
  70. package/dist/destinations/iterable-lists/syncAudience/iterable-client.js +9 -13
  71. package/dist/destinations/iterable-lists/syncAudience/iterable-client.js.map +1 -1
  72. package/dist/destinations/klaviyo/orderCompleted/index.js +1 -1
  73. package/dist/destinations/klaviyo/orderCompleted/index.js.map +1 -1
  74. package/dist/destinations/recombee/addBookmark/index.js +1 -1
  75. package/dist/destinations/recombee/addBookmark/index.js.map +1 -1
  76. package/dist/destinations/recombee/addCartAddition/generated-types.d.ts +2 -2
  77. package/dist/destinations/recombee/addCartAddition/index.js +17 -27
  78. package/dist/destinations/recombee/addCartAddition/index.js.map +1 -1
  79. package/dist/destinations/recombee/commonFields.js +3 -3
  80. package/dist/destinations/recombee/commonFields.js.map +1 -1
  81. package/dist/destinations/recombee/index.js +7 -1
  82. package/dist/destinations/recombee/index.js.map +1 -1
  83. package/dist/destinations/responsys/index.js +14 -5
  84. package/dist/destinations/responsys/index.js.map +1 -1
  85. package/dist/destinations/responsys/sendAudience/index.js +1 -1
  86. package/dist/destinations/responsys/sendAudienceAsPet/functions.d.ts +10 -0
  87. package/dist/destinations/responsys/sendAudienceAsPet/functions.js +152 -0
  88. package/dist/destinations/responsys/sendAudienceAsPet/functions.js.map +1 -0
  89. package/dist/destinations/responsys/sendAudienceAsPet/generated-types.d.ts +15 -0
  90. package/dist/destinations/responsys/sendAudienceAsPet/generated-types.js +3 -0
  91. package/dist/destinations/responsys/sendAudienceAsPet/generated-types.js.map +1 -0
  92. package/dist/destinations/responsys/sendAudienceAsPet/index.d.ts +5 -0
  93. package/dist/destinations/responsys/sendAudienceAsPet/index.js +143 -0
  94. package/dist/destinations/responsys/sendAudienceAsPet/index.js.map +1 -0
  95. package/dist/destinations/responsys/sendCustomTraits/index.js +1 -1
  96. package/dist/destinations/responsys/{shared_properties.js → shared-properties.js} +1 -1
  97. package/dist/destinations/responsys/{shared_properties.js.map → shared-properties.js.map} +1 -1
  98. package/dist/destinations/responsys/types.d.ts +18 -9
  99. package/dist/destinations/responsys/upsertListMember/index.js +1 -1
  100. package/dist/destinations/responsys/utils.d.ts +5 -4
  101. package/dist/destinations/responsys/utils.js +14 -42
  102. package/dist/destinations/responsys/utils.js.map +1 -1
  103. package/dist/destinations/sendgrid/sendEmail/constants.d.ts +1 -0
  104. package/dist/destinations/sendgrid/sendEmail/constants.js +2 -1
  105. package/dist/destinations/sendgrid/sendEmail/constants.js.map +1 -1
  106. package/dist/destinations/sendgrid/sendEmail/dynamic-fields.d.ts +2 -0
  107. package/dist/destinations/sendgrid/sendEmail/dynamic-fields.js +61 -10
  108. package/dist/destinations/sendgrid/sendEmail/dynamic-fields.js.map +1 -1
  109. package/dist/destinations/sendgrid/sendEmail/fields.js +36 -116
  110. package/dist/destinations/sendgrid/sendEmail/fields.js.map +1 -1
  111. package/dist/destinations/sendgrid/sendEmail/generated-types.d.ts +1 -17
  112. package/dist/destinations/sendgrid/sendEmail/index.js +5 -0
  113. package/dist/destinations/sendgrid/sendEmail/index.js.map +1 -1
  114. package/dist/destinations/sendgrid/sendEmail/types.d.ts +0 -19
  115. package/dist/destinations/sendgrid/sendEmail/utils.d.ts +2 -0
  116. package/dist/destinations/sendgrid/sendEmail/utils.js +29 -26
  117. package/dist/destinations/sendgrid/sendEmail/utils.js.map +1 -1
  118. package/dist/destinations/sendgrid-audiences/constants.d.ts +8 -0
  119. package/dist/destinations/sendgrid-audiences/constants.js +12 -0
  120. package/dist/destinations/sendgrid-audiences/constants.js.map +1 -0
  121. package/dist/destinations/sendgrid-audiences/generated-types.d.ts +6 -0
  122. package/dist/destinations/sendgrid-audiences/generated-types.js +3 -0
  123. package/dist/destinations/sendgrid-audiences/generated-types.js.map +1 -0
  124. package/dist/destinations/sendgrid-audiences/index.d.ts +4 -0
  125. package/dist/destinations/sendgrid-audiences/index.js +70 -0
  126. package/dist/destinations/sendgrid-audiences/index.js.map +1 -0
  127. package/dist/destinations/sendgrid-audiences/syncAudience/fields.d.ts +2 -0
  128. package/dist/destinations/sendgrid-audiences/syncAudience/fields.js +114 -0
  129. package/dist/destinations/sendgrid-audiences/syncAudience/fields.js.map +1 -0
  130. package/dist/destinations/sendgrid-audiences/syncAudience/generated-types.d.ts +14 -0
  131. package/dist/destinations/sendgrid-audiences/syncAudience/generated-types.js +3 -0
  132. package/dist/destinations/sendgrid-audiences/syncAudience/generated-types.js.map +1 -0
  133. package/dist/destinations/sendgrid-audiences/syncAudience/index.d.ts +5 -0
  134. package/dist/destinations/sendgrid-audiences/syncAudience/index.js +18 -0
  135. package/dist/destinations/sendgrid-audiences/syncAudience/index.js.map +1 -0
  136. package/dist/destinations/sendgrid-audiences/syncAudience/utils.d.ts +3 -0
  137. package/dist/destinations/sendgrid-audiences/syncAudience/utils.js +106 -0
  138. package/dist/destinations/sendgrid-audiences/syncAudience/utils.js.map +1 -0
  139. package/dist/destinations/sendgrid-audiences/types.d.ts +41 -0
  140. package/dist/destinations/sendgrid-audiences/types.js +3 -0
  141. package/dist/destinations/sendgrid-audiences/types.js.map +1 -0
  142. package/dist/destinations/singlestore/index.js +1 -1
  143. package/dist/destinations/singlestore/index.js.map +1 -1
  144. package/dist/destinations/snap-audiences/index.js +77 -17
  145. package/dist/destinations/snap-audiences/index.js.map +1 -1
  146. package/dist/destinations/sprig/generated-types.d.ts +3 -0
  147. package/dist/destinations/sprig/generated-types.js +3 -0
  148. package/dist/destinations/sprig/generated-types.js.map +1 -0
  149. package/dist/destinations/sprig/identifyUser/generated-types.d.ts +6 -0
  150. package/dist/destinations/sprig/identifyUser/generated-types.js +3 -0
  151. package/dist/destinations/sprig/identifyUser/generated-types.js.map +1 -0
  152. package/dist/destinations/sprig/identifyUser/index.d.ts +5 -0
  153. package/dist/destinations/sprig/identifyUser/index.js +38 -0
  154. package/dist/destinations/sprig/identifyUser/index.js.map +1 -0
  155. package/dist/destinations/sprig/identifyUser/utils.d.ts +8 -0
  156. package/dist/destinations/sprig/identifyUser/utils.js +22 -0
  157. package/dist/destinations/sprig/identifyUser/utils.js.map +1 -0
  158. package/dist/destinations/sprig/index.d.ts +4 -0
  159. package/dist/destinations/sprig/index.js +59 -0
  160. package/dist/destinations/sprig/index.js.map +1 -0
  161. package/dist/destinations/sprig/trackEvent/generated-types.d.ts +5 -0
  162. package/dist/destinations/sprig/trackEvent/generated-types.js +3 -0
  163. package/dist/destinations/sprig/trackEvent/generated-types.js.map +1 -0
  164. package/dist/destinations/sprig/trackEvent/index.d.ts +5 -0
  165. package/dist/destinations/sprig/trackEvent/index.js +47 -0
  166. package/dist/destinations/sprig/trackEvent/index.js.map +1 -0
  167. package/dist/destinations/sprig/trackEvent/utils.d.ts +8 -0
  168. package/dist/destinations/sprig/trackEvent/utils.js +16 -0
  169. package/dist/destinations/sprig/trackEvent/utils.js.map +1 -0
  170. package/package.json +2 -2
  171. /package/dist/destinations/responsys/{shared_properties.d.ts → shared-properties.d.ts} +0 -0
@@ -7,7 +7,8 @@ exports.fields = {
7
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
8
  type: 'string',
9
9
  required: false,
10
- dynamic: true
10
+ dynamic: true,
11
+ disabledInputMethods: ['literal', 'variable', 'function', 'freeform', 'enrichment']
11
12
  },
12
13
  from: {
13
14
  label: 'From',
@@ -29,6 +30,14 @@ exports.fields = {
29
30
  type: 'string',
30
31
  required: false
31
32
  }
33
+ },
34
+ default: {
35
+ email: {
36
+ '@path': '$.properties.from_email'
37
+ },
38
+ name: {
39
+ '@path': '$.properties.from_name'
40
+ }
32
41
  }
33
42
  },
34
43
  to: {
@@ -52,6 +61,19 @@ exports.fields = {
52
61
  type: 'string',
53
62
  required: false
54
63
  }
64
+ },
65
+ default: {
66
+ '@arrayPath': [
67
+ '$.properties',
68
+ {
69
+ email: {
70
+ '@path': '$.email'
71
+ },
72
+ name: {
73
+ '@path': '$.name'
74
+ }
75
+ }
76
+ ]
55
77
  }
56
78
  },
57
79
  cc: {
@@ -114,14 +136,16 @@ exports.fields = {
114
136
  type: 'object',
115
137
  required: false,
116
138
  defaultObjectUI: 'keyvalue',
117
- additionalProperties: true
139
+ additionalProperties: true,
140
+ dynamic: true
118
141
  },
119
142
  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-'",
143
+ label: 'Dynamic Template',
144
+ description: 'The Dynamic Template to use for the email.',
122
145
  type: 'string',
123
146
  required: true,
124
- dynamic: true
147
+ dynamic: true,
148
+ disabledInputMethods: ['literal', 'variable', 'function', 'freeform', 'enrichment']
125
149
  },
126
150
  custom_args: {
127
151
  label: 'Custom Args',
@@ -140,18 +164,12 @@ exports.fields = {
140
164
  },
141
165
  reply_to: {
142
166
  label: 'Reply To',
143
- description: 'Reply to details.',
167
+ description: "Reply to details. If left empty 'Reply To' settings will be taken from the 'From' field values.",
144
168
  type: 'object',
145
- required: true,
169
+ required: false,
146
170
  additionalProperties: false,
147
171
  defaultObjectUI: 'keyvalue',
148
172
  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
173
  email: {
156
174
  label: 'Email',
157
175
  description: 'The email to reply to.',
@@ -164,128 +182,30 @@ exports.fields = {
164
182
  type: 'string',
165
183
  required: false
166
184
  }
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
185
  }
208
186
  },
209
187
  categories: {
210
188
  label: 'Categories',
211
- description: 'Categories for the email.',
189
+ description: 'Categories for the email. Accepts a single string or array of strings.',
212
190
  type: 'string',
213
191
  multiple: true,
214
192
  required: false
215
193
  },
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
194
  ip_pool_name: {
271
195
  label: 'IP Pool',
272
196
  description: 'Send email with an ip pool.',
273
197
  type: 'string',
274
198
  required: false,
275
- dynamic: true
199
+ dynamic: true,
200
+ disabledInputMethods: ['literal', 'variable', 'function', 'freeform', 'enrichment']
276
201
  },
277
202
  group_id: {
278
203
  label: 'Group ID',
279
204
  description: 'Specify a Group ID',
280
205
  type: 'string',
281
206
  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
207
+ dynamic: true,
208
+ disabledInputMethods: ['literal', 'variable', 'function', 'freeform', 'enrichment']
289
209
  }
290
210
  };
291
211
  //# sourceMappingURL=fields.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fields.js","sourceRoot":"","sources":["../../../../src/destinations/sendgrid/sendEmail/fields.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fields.js","sourceRoot":"","sources":["../../../../src/destinations/sendgrid/sendEmail/fields.ts"],"names":[],"mappings":"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"}
@@ -27,27 +27,11 @@ export interface Payload {
27
27
  [k: string]: unknown;
28
28
  };
29
29
  send_at?: string;
30
- reply_to: {
31
- reply_to_equals_from: boolean;
30
+ reply_to?: {
32
31
  email?: string;
33
32
  name?: string;
34
33
  };
35
- subscription_tracking?: {
36
- enable: boolean;
37
- text?: string;
38
- html?: string;
39
- substitution_tag?: string;
40
- };
41
34
  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
35
  ip_pool_name?: string;
51
36
  group_id?: string;
52
- sandbox_mode?: boolean;
53
37
  }
@@ -14,6 +14,11 @@ const action = {
14
14
  ip_pool_name: async (request) => {
15
15
  return await dynamic_fields_1.dynamicIpPoolNames(request);
16
16
  },
17
+ dynamic_template_data: {
18
+ __keys__: async (request, { payload }) => {
19
+ return await dynamic_fields_1.dynamicTemplateData(request, payload);
20
+ }
21
+ },
17
22
  domain: async (request) => {
18
23
  return await dynamic_fields_1.dynamicDomain(request);
19
24
  },
@@ -1 +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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/sendgrid/sendEmail/index.ts"],"names":[],"mappings":";;AAGA,mCAA8B;AAC9B,qCAAiC;AACjC,qDAMyB;AAEzB,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,qBAAqB,EAAE;YACrB,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;gBACvC,OAAO,MAAM,oCAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;YACpD,CAAC;SACF;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"}
@@ -28,24 +28,5 @@ export interface SendEmailReq {
28
28
  group_id: number;
29
29
  };
30
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
31
  }
51
32
  export {};
@@ -1,3 +1,5 @@
1
1
  import { RequestClient } from '@segment/actions-core';
2
2
  import type { Payload } from './generated-types';
3
3
  export declare function send(request: RequestClient, payload: Payload): Promise<import("@segment/actions-core").ModifiedResponse<unknown>>;
4
+ export declare function parseIntFromString(value: string | undefined): number | undefined;
5
+ export declare function parseTemplateId(value: string): string | null;
@@ -1,11 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.send = void 0;
3
+ exports.parseTemplateId = exports.parseIntFromString = exports.send = void 0;
4
4
  const actions_core_1 = require("@segment/actions-core");
5
5
  const constants_1 = require("./constants");
6
6
  async function send(request, payload) {
7
7
  validate(payload);
8
- const groupId = getIntFromString(payload.group_id);
8
+ const groupId = parseIntFromString(payload.group_id);
9
+ const templateId = parseTemplateId(payload.template_id);
9
10
  const json = {
10
11
  personalizations: [
11
12
  {
@@ -25,18 +26,13 @@ async function send(request, payload) {
25
26
  ],
26
27
  from: { email: payload.from.email, name: payload.from?.name ?? undefined },
27
28
  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
29
+ email: payload?.reply_to?.email ?? payload.from.email,
30
+ name: payload?.reply_to?.name ?? payload.from.name ?? undefined
30
31
  },
31
- template_id: payload.template_id,
32
+ template_id: templateId,
32
33
  categories: payload.categories,
33
34
  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
35
+ ip_pool_name: payload.ip_pool_name
40
36
  };
41
37
  return await request(constants_1.SEND_EMAIL_URL, {
42
38
  method: 'post',
@@ -50,29 +46,36 @@ function toUnixTS(date) {
50
46
  }
51
47
  return new Date(date).getTime();
52
48
  }
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
- }
49
+ function parseIntFromString(value) {
50
+ if (!value) {
51
+ return undefined;
61
52
  }
62
- return undefined;
53
+ const extractNumber = (regex, value) => {
54
+ const match = regex.exec(value);
55
+ return match ? parseInt(match[1], 10) : null;
56
+ };
57
+ return extractNumber(/^(\d+)/, value) ?? extractNumber(/\[(\d+)\]/, value) ?? undefined;
63
58
  }
59
+ exports.parseIntFromString = parseIntFromString;
60
+ function parseTemplateId(value) {
61
+ if (value.startsWith('d-')) {
62
+ return value.split(' ')[0];
63
+ }
64
+ const regex = /\[(.*?)\]/;
65
+ const match = regex.exec(value);
66
+ return match ? match[1] : null;
67
+ }
68
+ exports.parseTemplateId = parseTemplateId;
64
69
  function validate(payload) {
65
- if (payload.group_id && typeof getIntFromString(payload.group_id) !== 'number') {
70
+ if (payload.group_id && typeof parseIntFromString(payload.group_id) !== 'number') {
66
71
  throw new actions_core_1.PayloadValidationError('Group ID value must be a numberic (integer) string');
67
72
  }
68
73
  if (payload.domain && !payload.from.email.endsWith(payload.domain)) {
69
74
  throw new actions_core_1.PayloadValidationError('From email must be from the selected domain');
70
75
  }
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
+ const templateId = parseTemplateId(payload.template_id);
77
+ if (templateId == null || !templateId.startsWith('d-')) {
78
+ throw new actions_core_1.PayloadValidationError('Template must refer to a Dynamic Template. Dynamic Template IDs start with "d-"');
76
79
  }
77
80
  if (Object.keys(payload?.headers ?? {}).some((key) => constants_1.RESERVED_HEADERS.includes(key))) {
78
81
  throw new actions_core_1.PayloadValidationError(`Headers cannot contain any of the following reserved headers: ${constants_1.RESERVED_HEADERS.join(', ')}`);
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/destinations/sendgrid/sendEmail/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/destinations/sendgrid/sendEmail/utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export declare const MAX_BATCH_SIZE = 100;
2
+ export declare const CREATE_LIST_URL = "https://api.sendgrid.com/v3/marketing/lists";
3
+ export declare const UPSERT_CONTACTS_URL = "https://api.sendgrid.com/v3/marketing/contacts";
4
+ export declare const REMOVE_CONTACTS_FROM_LIST_URL = "https://api.sendgrid.com/v3/marketing/lists/{list_id}/contacts?contact_ids={contact_ids}";
5
+ export declare const MAX_CHUNK_SIZE_REMOVE = 100;
6
+ export declare const GET_CONTACT_BY_EMAIL_URL = "https://api.sendgrid.com/v3/marketing/contacts/search/emails";
7
+ export declare const SEARCH_CONTACTS_URL = "https://api.sendgrid.com/v3/marketing/contacts/search";
8
+ export declare const MAX_CHUNK_SIZE_SEARCH = 50;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MAX_CHUNK_SIZE_SEARCH = exports.SEARCH_CONTACTS_URL = exports.GET_CONTACT_BY_EMAIL_URL = exports.MAX_CHUNK_SIZE_REMOVE = exports.REMOVE_CONTACTS_FROM_LIST_URL = exports.UPSERT_CONTACTS_URL = exports.CREATE_LIST_URL = exports.MAX_BATCH_SIZE = void 0;
4
+ exports.MAX_BATCH_SIZE = 100;
5
+ exports.CREATE_LIST_URL = 'https://api.sendgrid.com/v3/marketing/lists';
6
+ exports.UPSERT_CONTACTS_URL = 'https://api.sendgrid.com/v3/marketing/contacts';
7
+ exports.REMOVE_CONTACTS_FROM_LIST_URL = 'https://api.sendgrid.com/v3/marketing/lists/{list_id}/contacts?contact_ids={contact_ids}';
8
+ exports.MAX_CHUNK_SIZE_REMOVE = 100;
9
+ exports.GET_CONTACT_BY_EMAIL_URL = 'https://api.sendgrid.com/v3/marketing/contacts/search/emails';
10
+ exports.SEARCH_CONTACTS_URL = 'https://api.sendgrid.com/v3/marketing/contacts/search';
11
+ exports.MAX_CHUNK_SIZE_SEARCH = 50;
12
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/destinations/sendgrid-audiences/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,cAAc,GAAG,GAAG,CAAA;AAEpB,QAAA,eAAe,GAAG,6CAA6C,CAAA;AAE/D,QAAA,mBAAmB,GAAG,gDAAgD,CAAA;AAEtE,QAAA,6BAA6B,GAAG,0FAA0F,CAAA;AAE1H,QAAA,qBAAqB,GAAG,GAAG,CAAA;AAE3B,QAAA,wBAAwB,GAAG,8DAA8D,CAAA;AAEzF,QAAA,mBAAmB,GAAG,uDAAuD,CAAA;AAE7E,QAAA,qBAAqB,GAAG,EAAE,CAAA"}
@@ -0,0 +1,6 @@
1
+ export interface Settings {
2
+ sendGridApiKey: string;
3
+ }
4
+ export interface AudienceSettings {
5
+ listName?: string;
6
+ }
@@ -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-audiences/generated-types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ import type { AudienceDestinationDefinition } from '@segment/actions-core';
2
+ import type { Settings, AudienceSettings } from './generated-types';
3
+ declare const destination: AudienceDestinationDefinition<Settings, AudienceSettings>;
4
+ export default destination;
@@ -0,0 +1,70 @@
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 syncAudience_1 = __importDefault(require("./syncAudience"));
7
+ const constants_1 = require("./constants");
8
+ const destination = {
9
+ name: 'SendGrid Lists (Actions)',
10
+ slug: 'actions-sendgrid-audiences',
11
+ mode: 'cloud',
12
+ description: 'Sync Segment Engage Audiences to Sengrid Lists.',
13
+ authentication: {
14
+ scheme: 'custom',
15
+ fields: {
16
+ sendGridApiKey: {
17
+ label: 'API Key',
18
+ type: 'password',
19
+ description: 'The Api key for your SendGrid account.',
20
+ required: true
21
+ }
22
+ },
23
+ testAuthentication: (request) => {
24
+ return request('https://api.sendgrid.com/v3/user/account');
25
+ }
26
+ },
27
+ extendRequest({ settings }) {
28
+ return {
29
+ headers: {
30
+ Authorization: `Bearer ${settings.sendGridApiKey}`,
31
+ Accept: 'application/json'
32
+ }
33
+ };
34
+ },
35
+ audienceFields: {
36
+ listName: {
37
+ label: 'List Name',
38
+ description: 'A list name to create in Sendgrid. If not provided the Segment Audience name will be used.',
39
+ type: 'string',
40
+ required: false
41
+ }
42
+ },
43
+ audienceConfig: {
44
+ mode: {
45
+ type: 'synced',
46
+ full_audience_sync: false
47
+ },
48
+ async createAudience(request, createAudienceInput) {
49
+ const response = await request(constants_1.CREATE_LIST_URL, {
50
+ method: 'POST',
51
+ throwHttpErrors: false,
52
+ json: {
53
+ name: createAudienceInput?.audienceSettings?.listName ?? createAudienceInput.audienceName
54
+ }
55
+ });
56
+ const json = await response.json();
57
+ return { externalId: json.id };
58
+ },
59
+ async getAudience(_, getAudienceInput) {
60
+ return {
61
+ externalId: getAudienceInput.externalId
62
+ };
63
+ }
64
+ },
65
+ actions: {
66
+ syncAudience: syncAudience_1.default
67
+ }
68
+ };
69
+ exports.default = destination;
70
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/destinations/sendgrid-audiences/index.ts"],"names":[],"mappings":";;;;;AAEA,kEAAyC;AACzC,2CAA6C;AAG7C,MAAM,WAAW,GAA8D;IAC7E,IAAI,EAAE,0BAA0B;IAChC,IAAI,EAAE,4BAA4B;IAClC,IAAI,EAAE,OAAO;IACb,WAAW,EAAE,iDAAiD;IAC9D,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;IACD,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;IACD,cAAc,EAAE;QACd,QAAQ,EAAE;YACR,KAAK,EAAE,WAAW;YAClB,WAAW,EAAE,4FAA4F;YACzG,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,KAAK;SAChB;KACF;IACD,cAAc,EAAE;QACd,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;YACd,kBAAkB,EAAE,KAAK;SAC1B;QACD,KAAK,CAAC,cAAc,CAAC,OAAO,EAAE,mBAAmB;YAC/C,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAqB,2BAAe,EAAE;gBAClE,MAAM,EAAE,MAAM;gBACd,eAAe,EAAE,KAAK;gBACtB,IAAI,EAAE;oBACJ,IAAI,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,QAAQ,IAAI,mBAAmB,CAAC,YAAY;iBACrE;aACvB,CAAC,CAAA;YACF,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;YAClC,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE,CAAA;QAChC,CAAC;QACD,KAAK,CAAC,WAAW,CAAC,CAAC,EAAE,gBAAgB;YACnC,OAAO;gBACL,UAAU,EAAE,gBAAgB,CAAC,UAAU;aACxC,CAAA;QACH,CAAC;KACF;IACD,OAAO,EAAE;QACP,YAAY,EAAZ,sBAAY;KACb;CACF,CAAA;AAED,kBAAe,WAAW,CAAA"}
@@ -0,0 +1,2 @@
1
+ import { InputField } from '@segment/actions-core';
2
+ export declare const fields: Record<string, InputField>;