@segment/action-destinations 3.494.1-staging-f466f04ea.0 → 3.496.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 (217) hide show
  1. package/dist/destinations/braze/ecommerce/constants.d.ts +0 -1
  2. package/dist/destinations/braze/ecommerce/constants.js +0 -1
  3. package/dist/destinations/braze/ecommerce/constants.js.map +1 -1
  4. package/dist/destinations/braze/ecommerce/fields.d.ts +0 -6
  5. package/dist/destinations/braze/ecommerce/fields.js +2 -173
  6. package/dist/destinations/braze/ecommerce/fields.js.map +1 -1
  7. package/dist/destinations/braze/ecommerce/functions.js +8 -35
  8. package/dist/destinations/braze/ecommerce/functions.js.map +1 -1
  9. package/dist/destinations/braze/ecommerce/generated-types.d.ts +0 -4
  10. package/dist/destinations/braze/ecommerce/types.d.ts +3 -25
  11. package/dist/destinations/braze/ecommerceSingleProduct/generated-types.d.ts +0 -5
  12. package/dist/destinations/braze/ecommerceSingleProduct/index.js +0 -1
  13. package/dist/destinations/braze/ecommerceSingleProduct/index.js.map +1 -1
  14. package/dist/destinations/braze/index.js +2 -48
  15. package/dist/destinations/braze/index.js.map +1 -1
  16. package/dist/destinations/braze/userAlias.d.ts +2 -1
  17. package/dist/destinations/customerio/createUpdateObject/index.js +11 -33
  18. package/dist/destinations/customerio/createUpdateObject/index.js.map +1 -1
  19. package/dist/destinations/customerio/utils.d.ts +1 -4
  20. package/dist/destinations/customerio/utils.js +7 -52
  21. package/dist/destinations/customerio/utils.js.map +1 -1
  22. package/dist/destinations/display-video-360/index.js +0 -7
  23. package/dist/destinations/display-video-360/index.js.map +1 -1
  24. package/dist/destinations/facebook-conversions-api/addToCart/generated-types.d.ts +0 -1
  25. package/dist/destinations/facebook-conversions-api/addToCart2/generated-types.d.ts +0 -1
  26. package/dist/destinations/facebook-conversions-api/custom/generated-types.d.ts +0 -9
  27. package/dist/destinations/facebook-conversions-api/custom2/generated-types.d.ts +0 -9
  28. package/dist/destinations/facebook-conversions-api/initiateCheckout/generated-types.d.ts +0 -1
  29. package/dist/destinations/facebook-conversions-api/initiateCheckout2/generated-types.d.ts +0 -1
  30. package/dist/destinations/facebook-conversions-api/pageView/generated-types.d.ts +0 -1
  31. package/dist/destinations/facebook-conversions-api/pageView2/generated-types.d.ts +0 -1
  32. package/dist/destinations/facebook-conversions-api/purchase/generated-types.d.ts +0 -11
  33. package/dist/destinations/facebook-conversions-api/purchase2/generated-types.d.ts +0 -11
  34. package/dist/destinations/facebook-conversions-api/search/generated-types.d.ts +0 -1
  35. package/dist/destinations/facebook-conversions-api/search2/generated-types.d.ts +0 -1
  36. package/dist/destinations/facebook-conversions-api/shared/constants.d.ts +0 -1
  37. package/dist/destinations/facebook-conversions-api/shared/constants.js +1 -2
  38. package/dist/destinations/facebook-conversions-api/shared/constants.js.map +1 -1
  39. package/dist/destinations/facebook-conversions-api/shared/fields.d.ts +0 -3
  40. package/dist/destinations/facebook-conversions-api/shared/fields.js +2 -109
  41. package/dist/destinations/facebook-conversions-api/shared/fields.js.map +1 -1
  42. package/dist/destinations/facebook-conversions-api/shared/functions.d.ts +4 -5
  43. package/dist/destinations/facebook-conversions-api/shared/functions.js +16 -90
  44. package/dist/destinations/facebook-conversions-api/shared/functions.js.map +1 -1
  45. package/dist/destinations/facebook-conversions-api/shared/types.d.ts +1 -23
  46. package/dist/destinations/facebook-conversions-api/viewContent/generated-types.d.ts +0 -1
  47. package/dist/destinations/facebook-conversions-api/viewContent2/generated-types.d.ts +0 -1
  48. package/dist/destinations/facebook-custom-audiences/presets.js +0 -7
  49. package/dist/destinations/facebook-custom-audiences/presets.js.map +1 -1
  50. package/dist/destinations/first-party-dv360/properties.js +6 -30
  51. package/dist/destinations/first-party-dv360/properties.js.map +1 -1
  52. package/dist/destinations/google-enhanced-conversions/functions.d.ts +7 -12
  53. package/dist/destinations/google-enhanced-conversions/functions.js +103 -163
  54. package/dist/destinations/google-enhanced-conversions/functions.js.map +1 -1
  55. package/dist/destinations/google-enhanced-conversions/index.js +20 -22
  56. package/dist/destinations/google-enhanced-conversions/index.js.map +1 -1
  57. package/dist/destinations/google-enhanced-conversions/types.d.ts +0 -20
  58. package/dist/destinations/google-enhanced-conversions/userList/index.js +24 -20
  59. package/dist/destinations/google-enhanced-conversions/userList/index.js.map +1 -1
  60. package/dist/destinations/hubspot/index.js +2 -3
  61. package/dist/destinations/hubspot/index.js.map +1 -1
  62. package/dist/destinations/hubspot/versioning-info.d.ts +0 -1
  63. package/dist/destinations/hubspot/versioning-info.js +1 -2
  64. package/dist/destinations/hubspot/versioning-info.js.map +1 -1
  65. package/dist/destinations/iterable/index.js +1 -3
  66. package/dist/destinations/iterable/index.js.map +1 -1
  67. package/dist/destinations/iterable/updateUser/generated-types.d.ts +0 -1
  68. package/dist/destinations/iterable/updateUser/index.js +5 -35
  69. package/dist/destinations/iterable/updateUser/index.js.map +1 -1
  70. package/dist/destinations/iterable/utils.d.ts +0 -5
  71. package/dist/destinations/iterable/utils.js +1 -9
  72. package/dist/destinations/iterable/utils.js.map +1 -1
  73. package/dist/destinations/linkedin-conversions/api/index.js +2 -14
  74. package/dist/destinations/linkedin-conversions/api/index.js.map +1 -1
  75. package/dist/destinations/linkedin-conversions/streamConversion/generated-types.d.ts +0 -2
  76. package/dist/destinations/linkedin-conversions/streamConversion/index.js +6 -19
  77. package/dist/destinations/linkedin-conversions/streamConversion/index.js.map +1 -1
  78. package/dist/destinations/mixpanel/__test__/multistatus.test.js +1 -0
  79. package/dist/destinations/mixpanel/__test__/multistatus.test.js.map +1 -1
  80. package/dist/destinations/mixpanel/generated-types.d.ts +1 -0
  81. package/dist/destinations/mixpanel/incrementProperties/__test__/index.test.js +6 -0
  82. package/dist/destinations/mixpanel/incrementProperties/__test__/index.test.js.map +1 -1
  83. package/dist/destinations/mixpanel/index.js +7 -0
  84. package/dist/destinations/mixpanel/index.js.map +1 -1
  85. package/dist/destinations/mixpanel/trackEvent/index.js +1 -1
  86. package/dist/destinations/mixpanel/trackEvent/index.js.map +1 -1
  87. package/dist/destinations/mixpanel/trackPurchase/index.js +1 -1
  88. package/dist/destinations/mixpanel/trackPurchase/index.js.map +1 -1
  89. package/dist/destinations/ms-bing-ads-audiences/index.js +5 -19
  90. package/dist/destinations/ms-bing-ads-audiences/index.js.map +1 -1
  91. package/dist/destinations/ms-bing-ads-audiences/syncAudiences/index.js +5 -68
  92. package/dist/destinations/ms-bing-ads-audiences/syncAudiences/index.js.map +1 -1
  93. package/dist/destinations/ms-bing-ads-audiences/utils.d.ts +0 -2
  94. package/dist/destinations/ms-bing-ads-audiences/utils.js +1 -43
  95. package/dist/destinations/ms-bing-ads-audiences/utils.js.map +1 -1
  96. package/dist/destinations/pinterest-conversions/constants.d.ts +0 -13
  97. package/dist/destinations/pinterest-conversions/constants.js +1 -14
  98. package/dist/destinations/pinterest-conversions/constants.js.map +1 -1
  99. package/dist/destinations/pinterest-conversions/index.js +8 -88
  100. package/dist/destinations/pinterest-conversions/index.js.map +1 -1
  101. package/dist/destinations/pinterest-conversions/pinterest-capi-custom-data.d.ts +2 -4
  102. package/dist/destinations/pinterest-conversions/pinterest-capi-custom-data.js +8 -185
  103. package/dist/destinations/pinterest-conversions/pinterest-capi-custom-data.js.map +1 -1
  104. package/dist/destinations/pinterest-conversions/reportConversionEvent/generated-types.d.ts +1 -70
  105. package/dist/destinations/pinterest-conversions/reportConversionEvent/index.js +42 -354
  106. package/dist/destinations/pinterest-conversions/reportConversionEvent/index.js.map +1 -1
  107. package/dist/destinations/pinterest-conversions/types.d.ts +0 -117
  108. package/dist/destinations/reddit-conversions-api/customEvent/generated-types.d.ts +0 -5
  109. package/dist/destinations/reddit-conversions-api/customEvent/index.js +5 -8
  110. package/dist/destinations/reddit-conversions-api/customEvent/index.js.map +1 -1
  111. package/dist/destinations/reddit-conversions-api/fields.d.ts +0 -3
  112. package/dist/destinations/reddit-conversions-api/fields.js +2 -42
  113. package/dist/destinations/reddit-conversions-api/fields.js.map +1 -1
  114. package/dist/destinations/reddit-conversions-api/index.js.map +1 -1
  115. package/dist/destinations/reddit-conversions-api/standardEvent/generated-types.d.ts +0 -5
  116. package/dist/destinations/reddit-conversions-api/standardEvent/index.js +5 -8
  117. package/dist/destinations/reddit-conversions-api/standardEvent/index.js.map +1 -1
  118. package/dist/destinations/reddit-conversions-api/types.d.ts +0 -50
  119. package/dist/destinations/reddit-conversions-api/utils.d.ts +2 -6
  120. package/dist/destinations/reddit-conversions-api/utils.js +137 -12
  121. package/dist/destinations/reddit-conversions-api/utils.js.map +1 -1
  122. package/dist/destinations/reddit-conversions-api/versioning-info.d.ts +0 -1
  123. package/dist/destinations/reddit-conversions-api/versioning-info.js +1 -2
  124. package/dist/destinations/reddit-conversions-api/versioning-info.js.map +1 -1
  125. package/dist/destinations/rokt-capi/send/functions.js +16 -37
  126. package/dist/destinations/rokt-capi/send/functions.js.map +1 -1
  127. package/dist/destinations/s3/syncToS3/fields.js +0 -28
  128. package/dist/destinations/s3/syncToS3/fields.js.map +1 -1
  129. package/dist/destinations/s3/syncToS3/functions.d.ts +3 -5
  130. package/dist/destinations/s3/syncToS3/functions.js +9 -47
  131. package/dist/destinations/s3/syncToS3/functions.js.map +1 -1
  132. package/dist/destinations/s3/syncToS3/generated-types.d.ts +0 -4
  133. package/dist/destinations/s3/syncToS3/index.js +4 -4
  134. package/dist/destinations/s3/syncToS3/index.js.map +1 -1
  135. package/dist/destinations/s3/syncToS3/types.d.ts +0 -2
  136. package/dist/destinations/salesforce-marketing-cloud/_tests_/getCategoryList.test.js +0 -88
  137. package/dist/destinations/salesforce-marketing-cloud/_tests_/getCategoryList.test.js.map +1 -1
  138. package/dist/destinations/salesforce-marketing-cloud/asyncDataExtension/generated-types.d.ts +0 -1
  139. package/dist/destinations/salesforce-marketing-cloud/asyncDataExtension/index.js +52 -4
  140. package/dist/destinations/salesforce-marketing-cloud/asyncDataExtension/index.js.map +1 -1
  141. package/dist/destinations/salesforce-marketing-cloud/index.js +2 -6
  142. package/dist/destinations/salesforce-marketing-cloud/index.js.map +1 -1
  143. package/dist/destinations/salesforce-marketing-cloud/sfmc-operations.d.ts +3 -13
  144. package/dist/destinations/salesforce-marketing-cloud/sfmc-operations.js +6 -11
  145. package/dist/destinations/salesforce-marketing-cloud/sfmc-operations.js.map +1 -1
  146. package/dist/destinations/salesforce-marketing-cloud/sfmc-properties.js +2 -2
  147. package/dist/destinations/salesforce-marketing-cloud/sfmc-properties.js.map +1 -1
  148. package/dist/destinations/salesforce-marketing-cloud/versioning-info.d.ts +0 -1
  149. package/dist/destinations/salesforce-marketing-cloud/versioning-info.js +1 -2
  150. package/dist/destinations/salesforce-marketing-cloud/versioning-info.js.map +1 -1
  151. package/dist/destinations/tiktok-audiences/index.js +0 -7
  152. package/dist/destinations/tiktok-audiences/index.js.map +1 -1
  153. package/dist/destinations/webhook/send/index.js +0 -7
  154. package/dist/destinations/webhook/send/index.js.map +1 -1
  155. package/dist/destinations/webhook-extensible/send/index.js +0 -7
  156. package/dist/destinations/webhook-extensible/send/index.js.map +1 -1
  157. package/package.json +5 -5
  158. package/dist/destinations/braze/mergeUsers/functions.d.ts +0 -12
  159. package/dist/destinations/braze/mergeUsers/functions.js +0 -142
  160. package/dist/destinations/braze/mergeUsers/functions.js.map +0 -1
  161. package/dist/destinations/braze/mergeUsers/generated-types.d.ts +0 -17
  162. package/dist/destinations/braze/mergeUsers/generated-types.js +0 -3
  163. package/dist/destinations/braze/mergeUsers/generated-types.js.map +0 -1
  164. package/dist/destinations/braze/mergeUsers/index.d.ts +0 -5
  165. package/dist/destinations/braze/mergeUsers/index.js +0 -216
  166. package/dist/destinations/braze/mergeUsers/index.js.map +0 -1
  167. package/dist/destinations/braze/mergeUsers/types.d.ts +0 -27
  168. package/dist/destinations/braze/mergeUsers/types.js +0 -3
  169. package/dist/destinations/braze/mergeUsers/types.js.map +0 -1
  170. package/dist/destinations/customerio/types.d.ts +0 -9
  171. package/dist/destinations/customerio/types.js +0 -3
  172. package/dist/destinations/customerio/types.js.map +0 -1
  173. package/dist/destinations/iterable/updateSubscriptions/constants.d.ts +0 -3
  174. package/dist/destinations/iterable/updateSubscriptions/constants.js +0 -7
  175. package/dist/destinations/iterable/updateSubscriptions/constants.js.map +0 -1
  176. package/dist/destinations/iterable/updateSubscriptions/dynamic-fields.d.ts +0 -9
  177. package/dist/destinations/iterable/updateSubscriptions/dynamic-fields.js +0 -60
  178. package/dist/destinations/iterable/updateSubscriptions/dynamic-fields.js.map +0 -1
  179. package/dist/destinations/iterable/updateSubscriptions/functions.d.ts +0 -9
  180. package/dist/destinations/iterable/updateSubscriptions/functions.js +0 -168
  181. package/dist/destinations/iterable/updateSubscriptions/functions.js.map +0 -1
  182. package/dist/destinations/iterable/updateSubscriptions/generated-types.d.ts +0 -15
  183. package/dist/destinations/iterable/updateSubscriptions/generated-types.js +0 -3
  184. package/dist/destinations/iterable/updateSubscriptions/generated-types.js.map +0 -1
  185. package/dist/destinations/iterable/updateSubscriptions/index.d.ts +0 -5
  186. package/dist/destinations/iterable/updateSubscriptions/index.js +0 -129
  187. package/dist/destinations/iterable/updateSubscriptions/index.js.map +0 -1
  188. package/dist/destinations/iterable/updateSubscriptions/types.d.ts +0 -39
  189. package/dist/destinations/iterable/updateSubscriptions/types.js +0 -3
  190. package/dist/destinations/iterable/updateSubscriptions/types.js.map +0 -1
  191. package/dist/destinations/reddit-conversions-api/shared.d.ts +0 -20
  192. package/dist/destinations/reddit-conversions-api/shared.js +0 -66
  193. package/dist/destinations/reddit-conversions-api/shared.js.map +0 -1
  194. package/dist/destinations/reddit-conversions-api/v2.d.ts +0 -5
  195. package/dist/destinations/reddit-conversions-api/v2.js +0 -87
  196. package/dist/destinations/reddit-conversions-api/v2.js.map +0 -1
  197. package/dist/destinations/reddit-conversions-api/v3.d.ts +0 -6
  198. package/dist/destinations/reddit-conversions-api/v3.js +0 -118
  199. package/dist/destinations/reddit-conversions-api/v3.js.map +0 -1
  200. package/dist/destinations/s3/constants.d.ts +0 -1
  201. package/dist/destinations/s3/constants.js +0 -5
  202. package/dist/destinations/s3/constants.js.map +0 -1
  203. package/dist/destinations/salesforce-marketing-cloud/_tests_/asyncDataExtension.async.test.d.ts +0 -1
  204. package/dist/destinations/salesforce-marketing-cloud/_tests_/asyncDataExtension.async.test.js +0 -656
  205. package/dist/destinations/salesforce-marketing-cloud/_tests_/asyncDataExtension.async.test.js.map +0 -1
  206. package/dist/destinations/salesforce-marketing-cloud/asyncDataExtension/fields.d.ts +0 -140
  207. package/dist/destinations/salesforce-marketing-cloud/asyncDataExtension/fields.js +0 -69
  208. package/dist/destinations/salesforce-marketing-cloud/asyncDataExtension/fields.js.map +0 -1
  209. package/dist/destinations/salesforce-marketing-cloud/asyncDataExtension/index.async.d.ts +0 -5
  210. package/dist/destinations/salesforce-marketing-cloud/asyncDataExtension/index.async.js +0 -145
  211. package/dist/destinations/salesforce-marketing-cloud/asyncDataExtension/index.async.js.map +0 -1
  212. package/dist/destinations/webhook/ssrf-utils.d.ts +0 -1
  213. package/dist/destinations/webhook/ssrf-utils.js +0 -74
  214. package/dist/destinations/webhook/ssrf-utils.js.map +0 -1
  215. package/dist/destinations/webhook-extensible/ssrf-utils.d.ts +0 -1
  216. package/dist/destinations/webhook-extensible/ssrf-utils.js +0 -74
  217. package/dist/destinations/webhook-extensible/ssrf-utils.js.map +0 -1
@@ -1,5 +0,0 @@
1
- import type { ActionDefinition } from '@segment/actions-core';
2
- import type { Settings } from '../generated-types';
3
- import type { Payload } from './generated-types';
4
- declare const action: ActionDefinition<Settings, Payload>;
5
- export default action;
@@ -1,216 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const functions_1 = require("./functions");
4
- const action = {
5
- title: 'Merge Users [Beta]',
6
- description: 'Merge one identified user into another identified user. The merge will occur asynchronously and can take between 5-10 minutes. This Action is in Public Beta.',
7
- defaultSubscription: 'type = "alias"',
8
- fields: {
9
- previousIdType: {
10
- label: 'Type of Identifier to merge',
11
- description: 'The type of identifier for the user to be merged. One of: external_id, user_alias, email, or phone.',
12
- type: 'string',
13
- required: true,
14
- choices: (0, functions_1.getSupportedIdentifierChoices)(),
15
- default: 'external_id'
16
- },
17
- previousIdValue: {
18
- label: 'ID value to merge',
19
- description: 'The value of the user identifier to be merged.',
20
- type: 'string',
21
- required: {
22
- match: 'all',
23
- conditions: [
24
- {
25
- fieldKey: 'previousIdType',
26
- operator: 'is_not',
27
- value: 'user_alias'
28
- }
29
- ]
30
- },
31
- depends_on: {
32
- match: 'all',
33
- conditions: [
34
- {
35
- fieldKey: 'previousIdType',
36
- operator: 'is_not',
37
- value: 'user_alias'
38
- }
39
- ]
40
- },
41
- default: {
42
- '@path': '$.previousId'
43
- }
44
- },
45
- previousAliasIdValue: {
46
- label: 'User Alias value to merge',
47
- description: 'The value of the user alias identifier to be merged. Required if the previous identifier type is user_alias.',
48
- type: 'object',
49
- required: {
50
- match: 'all',
51
- conditions: [
52
- {
53
- fieldKey: 'previousIdType',
54
- operator: 'is',
55
- value: 'user_alias'
56
- }
57
- ]
58
- },
59
- depends_on: {
60
- match: 'all',
61
- conditions: [
62
- {
63
- fieldKey: 'previousIdType',
64
- operator: 'is',
65
- value: 'user_alias'
66
- }
67
- ]
68
- },
69
- properties: {
70
- alias_label: {
71
- label: 'User Alias Label',
72
- description: 'The label of the user alias for the user to be merged.',
73
- type: 'string',
74
- required: true
75
- },
76
- alias_name: {
77
- label: 'User Alias Name',
78
- description: 'The name of the user alias for the user to be merged.',
79
- type: 'string',
80
- required: true
81
- }
82
- }
83
- },
84
- keepIdType: {
85
- label: 'Type of Identifier to keep',
86
- description: 'The type of the user identifier to be kept. One of: external_id, user_alias, email, or phone.',
87
- type: 'string',
88
- required: true,
89
- choices: (0, functions_1.getSupportedIdentifierChoices)(),
90
- default: 'external_id'
91
- },
92
- keepIdValue: {
93
- label: 'ID value to keep',
94
- description: 'The value of the user identifier to be kept.',
95
- type: 'string',
96
- required: {
97
- match: 'all',
98
- conditions: [
99
- {
100
- fieldKey: 'keepIdType',
101
- operator: 'is_not',
102
- value: 'user_alias'
103
- }
104
- ]
105
- },
106
- depends_on: {
107
- match: 'all',
108
- conditions: [
109
- {
110
- fieldKey: 'keepIdType',
111
- operator: 'is_not',
112
- value: 'user_alias'
113
- }
114
- ]
115
- },
116
- default: { '@path': '$.userId' }
117
- },
118
- keepAliasIdValue: {
119
- label: 'User Alias value to keep',
120
- description: 'The value of the user alias identifier for the user to be kept. Required if the keep identifier type is user_alias.',
121
- type: 'object',
122
- required: {
123
- match: 'all',
124
- conditions: [
125
- {
126
- fieldKey: 'keepIdType',
127
- operator: 'is',
128
- value: 'user_alias'
129
- }
130
- ]
131
- },
132
- depends_on: {
133
- match: 'all',
134
- conditions: [
135
- {
136
- fieldKey: 'keepIdType',
137
- operator: 'is',
138
- value: 'user_alias'
139
- }
140
- ]
141
- },
142
- properties: {
143
- alias_label: {
144
- label: 'User Alias Label',
145
- description: 'The label of the user alias to be kept.',
146
- type: 'string',
147
- required: true
148
- },
149
- alias_name: {
150
- label: 'User Alias Name',
151
- description: 'The name of the user alias to be kept.',
152
- type: 'string',
153
- required: true
154
- }
155
- }
156
- },
157
- keepIdPrioritization: {
158
- label: 'Rule Prioritization (ID to keep)',
159
- description: 'Rule determining which user to merge if multiple users are found.',
160
- type: 'string',
161
- allowNull: true,
162
- choices: (0, functions_1.getPrioritizationChoices)(),
163
- required: {
164
- match: 'any',
165
- conditions: [
166
- {
167
- fieldKey: 'keepIdType',
168
- operator: 'is',
169
- value: 'email'
170
- },
171
- {
172
- fieldKey: 'keepIdType',
173
- operator: 'is',
174
- value: 'phone'
175
- }
176
- ]
177
- }
178
- },
179
- previousIdPrioritization: {
180
- label: 'Rule Prioritization (ID to merge)',
181
- description: 'Rule determining which user to merge if multiple users are found.',
182
- type: 'string',
183
- allowNull: true,
184
- choices: (0, functions_1.getPrioritizationChoices)(),
185
- required: {
186
- match: 'any',
187
- conditions: [
188
- {
189
- fieldKey: 'previousIdType',
190
- operator: 'is',
191
- value: 'email'
192
- },
193
- {
194
- fieldKey: 'previousIdType',
195
- operator: 'is',
196
- value: 'phone'
197
- }
198
- ]
199
- }
200
- },
201
- batch_size: {
202
- label: 'Batch Size',
203
- description: 'Maximum number of events to include in each batch. Actual batch sizes may be lower.',
204
- type: 'number',
205
- default: 50
206
- }
207
- },
208
- perform: (request, { settings, payload }) => {
209
- return (0, functions_1.send)(request, settings, [payload], false);
210
- },
211
- performBatch: (request, { settings, payload }) => {
212
- return (0, functions_1.send)(request, settings, payload, true);
213
- }
214
- };
215
- exports.default = action;
216
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/braze/mergeUsers/index.ts"],"names":[],"mappings":"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"}
@@ -1,27 +0,0 @@
1
- export type MergeUsersJSON = {
2
- merge_updates: Array<MergeUsersItem>;
3
- };
4
- export type MergeUsersItem = {
5
- identifier_to_merge: {
6
- external_id?: string;
7
- user_alias?: {
8
- alias_label: string;
9
- alias_name: string;
10
- };
11
- email?: string;
12
- phone?: string;
13
- prioritization?: Prioritization;
14
- };
15
- identifier_to_keep: {
16
- external_id?: string;
17
- user_alias?: {
18
- alias_label: string;
19
- alias_name: string;
20
- };
21
- email?: string;
22
- phone?: string;
23
- prioritization?: Prioritization;
24
- };
25
- };
26
- export type Prioritization = ['identified'] | ['unidentified'] | ['most_recently_updated'] | ['least_recently_updated'] | ['identified', 'most_recently_updated'] | ['unidentified', 'most_recently_updated'] | ['identified', 'least_recently_updated'] | ['unidentified', 'least_recently_updated'];
27
- export type MergeIdentifierType = 'external_id' | 'user_alias' | 'email' | 'phone';
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/destinations/braze/mergeUsers/types.ts"],"names":[],"mappings":""}
@@ -1,9 +0,0 @@
1
- export type CustomerIOBatchResponse = {
2
- errors: TrackApiError[];
3
- };
4
- export type TrackApiError = {
5
- batch_index?: number;
6
- reason?: string;
7
- field?: string;
8
- message?: string;
9
- };
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/destinations/customerio/types.ts"],"names":[],"mappings":""}
@@ -1,3 +0,0 @@
1
- export declare const MAX_SUBSCRIPTION_ITEMS = 6;
2
- export declare const VALID_ACTIONS: readonly ["subscribe", "unsubscribe"];
3
- export declare const MIN_REQUEST_TIMEOUT = 30000;
@@ -1,7 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MIN_REQUEST_TIMEOUT = exports.VALID_ACTIONS = exports.MAX_SUBSCRIPTION_ITEMS = void 0;
4
- exports.MAX_SUBSCRIPTION_ITEMS = 6;
5
- exports.VALID_ACTIONS = ['subscribe', 'unsubscribe'];
6
- exports.MIN_REQUEST_TIMEOUT = 30000;
7
- //# sourceMappingURL=constants.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/destinations/iterable/updateSubscriptions/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,sBAAsB,GAAG,CAAC,CAAA;AAC1B,QAAA,aAAa,GAAG,CAAC,WAAW,EAAE,aAAa,CAAU,CAAA;AACrD,QAAA,mBAAmB,GAAG,KAAM,CAAA"}
@@ -1,9 +0,0 @@
1
- import { RequestClient, DynamicFieldResponse } from '@segment/actions-core';
2
- import type { Settings } from '../generated-types';
3
- import type { Payload } from './generated-types';
4
- import type { DynamicFieldContext } from './types';
5
- export declare function getSubscriptionGroupId(request: RequestClient, { payload, dynamicFieldContext, settings }: {
6
- payload: Payload;
7
- dynamicFieldContext?: DynamicFieldContext;
8
- settings: Settings;
9
- }): Promise<DynamicFieldResponse>;
@@ -1,60 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getSubscriptionGroupId = getSubscriptionGroupId;
4
- const utils_1 = require("../utils");
5
- async function getSubscriptionGroupId(request, { payload, dynamicFieldContext, settings }) {
6
- const { selectedArrayIndex: index = 0 } = dynamicFieldContext ?? {};
7
- const groupType = payload?.subscriptions?.[index]?.subscription_group_type;
8
- const { dataCenterLocation } = settings;
9
- if (!groupType) {
10
- return {
11
- choices: [],
12
- error: {
13
- code: 'MISSING_GROUP_TYPE',
14
- message: "Select a 'Subscription Group Type' first."
15
- }
16
- };
17
- }
18
- const endpoint = (0, utils_1.getRegionalEndpoint)(groupType === 'messageChannel' ? 'getChannels' : groupType === 'messageType' ? 'getMessageTypes' : 'getLists', dataCenterLocation);
19
- switch (groupType) {
20
- case 'messageChannel':
21
- return fetchChannels(request, endpoint);
22
- case 'messageType':
23
- return fetchMessageTypes(request, endpoint);
24
- case 'emailList':
25
- return fetchLists(request, endpoint);
26
- default:
27
- return {
28
- choices: [],
29
- error: {
30
- code: 'INVALID_GROUP_TYPE',
31
- message: `Unknown subscription group type: ${groupType}`
32
- }
33
- };
34
- }
35
- }
36
- async function fetchChannels(request, endpoint) {
37
- const response = await request(endpoint, { method: 'get' });
38
- const choices = response.data.channels.map(({ id, name, messageMedium, channelType }) => ({
39
- label: `${name} (${messageMedium} - ${channelType})`,
40
- value: String(id)
41
- }));
42
- return { choices };
43
- }
44
- async function fetchMessageTypes(request, endpoint) {
45
- const response = await request(endpoint, { method: 'get' });
46
- const choices = response.data.messageTypes.map(({ id, name, subscriptionPolicy }) => ({
47
- label: `${name} (${subscriptionPolicy})`,
48
- value: String(id)
49
- }));
50
- return { choices };
51
- }
52
- async function fetchLists(request, endpoint) {
53
- const response = await request(endpoint, { method: 'get' });
54
- const choices = response.data.lists.map(({ id, name, listType }) => ({
55
- label: `${name} (${listType})`,
56
- value: String(id)
57
- }));
58
- return { choices };
59
- }
60
- //# sourceMappingURL=dynamic-fields.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dynamic-fields.js","sourceRoot":"","sources":["../../../../src/destinations/iterable/updateSubscriptions/dynamic-fields.ts"],"names":[],"mappings":"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"}
@@ -1,9 +0,0 @@
1
- import { RequestClient, MultiStatusResponse } from '@segment/actions-core';
2
- import type { Settings } from '../generated-types';
3
- import type { Payload } from './generated-types';
4
- import type { ResolvedIdentifier } from './types';
5
- export declare function performUpdateSubscriptions(request: RequestClient, payload: Payload, settings: Settings): Promise<import("@segment/actions-core/src").ModifiedResponse<unknown>>;
6
- export declare function performBatchUpdateSubscriptions(request: RequestClient, payloads: Payload[], settings: Settings): Promise<MultiStatusResponse>;
7
- export declare function resolveIdentifier(payload: Payload): ResolvedIdentifier;
8
- export declare function getBulkSubscriptionEndpoint(settings: Settings, groupType: string, groupId: string, action: string): string;
9
- export declare function getSingleUserEndpoint(settings: Settings, groupType: string, groupId: string, identifier: ResolvedIdentifier): string;
@@ -1,168 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.performUpdateSubscriptions = performUpdateSubscriptions;
4
- exports.performBatchUpdateSubscriptions = performBatchUpdateSubscriptions;
5
- exports.resolveIdentifier = resolveIdentifier;
6
- exports.getBulkSubscriptionEndpoint = getBulkSubscriptionEndpoint;
7
- exports.getSingleUserEndpoint = getSingleUserEndpoint;
8
- const actions_core_1 = require("@segment/actions-core");
9
- const utils_1 = require("../utils");
10
- const constants_1 = require("./constants");
11
- async function performUpdateSubscriptions(request, payload, settings) {
12
- const { subscriptions } = payload;
13
- const subscriptionCount = subscriptions.length;
14
- if (subscriptionCount === 0) {
15
- throw new actions_core_1.PayloadValidationError('At least one subscription item is required.');
16
- }
17
- if (subscriptionCount > constants_1.MAX_SUBSCRIPTION_ITEMS) {
18
- throw new actions_core_1.PayloadValidationError(`Maximum of ${constants_1.MAX_SUBSCRIPTION_ITEMS} subscription items allowed. Received ${subscriptionCount}.`);
19
- }
20
- const identifier = resolveIdentifier(payload);
21
- const results = await Promise.all(subscriptions.map(async ({ subscription_group_type, subscription_group_id, action }) => {
22
- validateAction(action);
23
- const endpoint = getSingleUserEndpoint(settings, subscription_group_type, subscription_group_id, identifier);
24
- const method = action === 'subscribe' ? 'patch' : 'delete';
25
- return request(endpoint, { method, timeout: Math.max(constants_1.MIN_REQUEST_TIMEOUT, actions_core_1.DEFAULT_REQUEST_TIMEOUT) });
26
- }));
27
- return results[results.length - 1];
28
- }
29
- async function performBatchUpdateSubscriptions(request, payloads, settings) {
30
- const multiStatusResponse = new actions_core_1.MultiStatusResponse();
31
- const validPayloads = [];
32
- payloads.forEach((payload, index) => {
33
- const sent = payload;
34
- const subscriptionCount = payload.subscriptions.length;
35
- if (subscriptionCount === 0) {
36
- multiStatusResponse.setErrorResponseAtIndex(index, {
37
- status: 400,
38
- errortype: 'PAYLOAD_VALIDATION_FAILED',
39
- errormessage: 'At least one subscription item is required.',
40
- sent
41
- });
42
- return;
43
- }
44
- if (subscriptionCount > constants_1.MAX_SUBSCRIPTION_ITEMS) {
45
- multiStatusResponse.setErrorResponseAtIndex(index, {
46
- status: 400,
47
- errortype: 'PAYLOAD_VALIDATION_FAILED',
48
- errormessage: `Maximum of ${constants_1.MAX_SUBSCRIPTION_ITEMS} subscription items allowed. Received ${subscriptionCount}.`,
49
- sent
50
- });
51
- return;
52
- }
53
- try {
54
- const identifier = resolveIdentifier(payload);
55
- validPayloads.push({ index, identifier });
56
- }
57
- catch (error) {
58
- multiStatusResponse.setErrorResponseAtIndex(index, {
59
- status: 400,
60
- errortype: 'PAYLOAD_VALIDATION_FAILED',
61
- errormessage: error.message,
62
- sent
63
- });
64
- }
65
- });
66
- if (validPayloads.length === 0) {
67
- return multiStatusResponse;
68
- }
69
- const subscriptions = payloads[validPayloads[0].index].subscriptions;
70
- for (const { action } of subscriptions) {
71
- try {
72
- validateAction(action);
73
- }
74
- catch (error) {
75
- validPayloads.forEach(({ index }) => {
76
- multiStatusResponse.setErrorResponseAtIndex(index, {
77
- status: 400,
78
- errortype: 'PAYLOAD_VALIDATION_FAILED',
79
- errormessage: error.message,
80
- sent: payloads[index]
81
- });
82
- });
83
- return multiStatusResponse;
84
- }
85
- }
86
- const users = validPayloads.filter(({ identifier }) => identifier.email).map(({ identifier }) => identifier.email);
87
- const usersByUserId = validPayloads.filter(({ identifier }) => identifier.userId).map(({ identifier }) => identifier.userId);
88
- const body = {
89
- ...(users.length > 0 && { users }),
90
- ...(usersByUserId.length > 0 && { usersByUserId })
91
- };
92
- try {
93
- await Promise.all(subscriptions.map(async ({ subscription_group_type, subscription_group_id, action }) => {
94
- const endpoint = getBulkSubscriptionEndpoint(settings, subscription_group_type, subscription_group_id, action);
95
- return request(endpoint, {
96
- method: 'put',
97
- json: body,
98
- timeout: Math.max(constants_1.MIN_REQUEST_TIMEOUT, actions_core_1.DEFAULT_REQUEST_TIMEOUT)
99
- });
100
- }));
101
- validPayloads.forEach(({ index, identifier }) => {
102
- const sentBody = identifier.email
103
- ? { users: [identifier.email] }
104
- : { usersByUserId: [identifier.userId] };
105
- multiStatusResponse.setSuccessResponseAtIndex(index, {
106
- status: 200,
107
- sent: payloads[index],
108
- body: sentBody
109
- });
110
- });
111
- }
112
- catch (error) {
113
- const isHTTPError = error instanceof actions_core_1.HTTPError;
114
- const status = isHTTPError ? error.response.status : 500;
115
- const errormessage = isHTTPError ? error.response.statusText : error.message;
116
- validPayloads.forEach(({ index, identifier }) => {
117
- const sentBody = identifier.email
118
- ? { users: [identifier.email] }
119
- : { usersByUserId: [identifier.userId] };
120
- multiStatusResponse.setErrorResponseAtIndex(index, {
121
- status,
122
- errortype: 'UNKNOWN_ERROR',
123
- errormessage,
124
- sent: payloads[index],
125
- body: sentBody
126
- });
127
- });
128
- }
129
- return multiStatusResponse;
130
- }
131
- function validateAction(action) {
132
- if (!constants_1.VALID_ACTIONS.includes(action)) {
133
- throw new actions_core_1.PayloadValidationError(`Invalid action: '${action}'. Must be 'subscribe' or 'unsubscribe'.`);
134
- }
135
- }
136
- function resolveIdentifier(payload) {
137
- const { identifier: { email, userId }, user_identifier_preference } = payload;
138
- const trimmedEmail = email?.trim();
139
- const trimmedUserId = userId?.trim();
140
- if (user_identifier_preference === 'userId' && trimmedUserId) {
141
- return { userId: trimmedUserId };
142
- }
143
- if (user_identifier_preference === 'email' && trimmedEmail) {
144
- return { email: trimmedEmail };
145
- }
146
- if (trimmedEmail) {
147
- return { email: trimmedEmail };
148
- }
149
- if (trimmedUserId) {
150
- return { userId: trimmedUserId };
151
- }
152
- throw new actions_core_1.PayloadValidationError('Must include email or userId in identifier.');
153
- }
154
- function getBulkSubscriptionEndpoint(settings, groupType, groupId, action) {
155
- const { dataCenterLocation } = settings;
156
- const baseUrl = (0, utils_1.getRegionalBaseUrl)(dataCenterLocation);
157
- return `${baseUrl}/api/subscriptions/${groupType}/${groupId}?action=${action}`;
158
- }
159
- function getSingleUserEndpoint(settings, groupType, groupId, identifier) {
160
- const { dataCenterLocation } = settings;
161
- const baseUrl = (0, utils_1.getRegionalBaseUrl)(dataCenterLocation);
162
- const { email, userId } = identifier;
163
- if (userId) {
164
- return `${baseUrl}/api/subscriptions/${groupType}/${groupId}/byUserId/${encodeURIComponent(userId)}`;
165
- }
166
- return `${baseUrl}/api/subscriptions/${groupType}/${groupId}/user/${encodeURIComponent(email)}`;
167
- }
168
- //# sourceMappingURL=functions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"functions.js","sourceRoot":"","sources":["../../../../src/destinations/iterable/updateSubscriptions/functions.ts"],"names":[],"mappings":"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"}
@@ -1,15 +0,0 @@
1
- export interface Payload {
2
- identifier: {
3
- email?: string;
4
- userId?: string;
5
- };
6
- user_identifier_preference: string;
7
- subscriptions: {
8
- subscription_group_type: string;
9
- subscription_group_id: string;
10
- action: string;
11
- }[];
12
- enable_batching?: boolean;
13
- batch_size?: number;
14
- batch_keys?: string[];
15
- }
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=generated-types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generated-types.js","sourceRoot":"","sources":["../../../../src/destinations/iterable/updateSubscriptions/generated-types.ts"],"names":[],"mappings":""}
@@ -1,5 +0,0 @@
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;