@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,129 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const functions_1 = require("./functions");
4
- const dynamic_fields_1 = require("./dynamic-fields");
5
- const action = {
6
- title: 'Update Subscriptions',
7
- description: 'Manage subscription preferences for a user, including subscribing and unsubscribing from channels, message types, and email lists.',
8
- defaultSubscription: 'type = "track" and event = "Subscriptions Updated"',
9
- fields: {
10
- identifier: {
11
- label: 'User Identifier',
12
- description: 'User identifier - provide email, userId, or both. At least one is required.',
13
- type: 'object',
14
- required: true,
15
- additionalProperties: false,
16
- properties: {
17
- email: {
18
- label: 'Email',
19
- description: 'An email address that identifies a user profile in Iterable.',
20
- type: 'string',
21
- format: 'email',
22
- required: false
23
- },
24
- userId: {
25
- label: 'User ID',
26
- description: 'A user ID that identifies a user profile in Iterable.',
27
- type: 'string',
28
- required: false
29
- }
30
- },
31
- default: {
32
- email: { '@path': '$.properties.email' },
33
- userId: { '@path': '$.userId' }
34
- }
35
- },
36
- user_identifier_preference: {
37
- label: 'User Identifier Preference',
38
- description: 'When both email and userId are provided, this determines which identifier is sent to Iterable. Iterable requires one or the other, not both.',
39
- type: 'string',
40
- required: true,
41
- choices: [
42
- { label: 'Email', value: 'email' },
43
- { label: 'User ID', value: 'userId' }
44
- ],
45
- default: 'email',
46
- disabledInputMethods: ['variable', 'function', 'freeform', 'enrichment']
47
- },
48
- subscriptions: {
49
- label: 'Subscription Preferences',
50
- description: 'Subscription changes to apply for this user. Maximum 6 items.',
51
- type: 'object',
52
- multiple: true,
53
- required: true,
54
- defaultObjectUI: 'arrayeditor',
55
- additionalProperties: false,
56
- properties: {
57
- subscription_group_type: {
58
- label: 'Subscription Group Type',
59
- description: 'The type of subscription group.',
60
- type: 'string',
61
- required: true,
62
- choices: [
63
- { label: 'Email List', value: 'emailList' },
64
- { label: 'Message Type', value: 'messageType' },
65
- { label: 'Message Channel', value: 'messageChannel' }
66
- ],
67
- disabledInputMethods: ['variable', 'function', 'freeform', 'enrichment']
68
- },
69
- subscription_group_id: {
70
- label: 'Subscription Group ID',
71
- description: 'The ID of the subscription group. Select a group type first to see available options.',
72
- type: 'string',
73
- required: true,
74
- dynamic: true,
75
- disabledInputMethods: ['variable', 'function', 'freeform', 'enrichment']
76
- },
77
- action: {
78
- label: 'Action',
79
- description: 'Whether to subscribe or unsubscribe the user from this group.',
80
- type: 'string',
81
- required: true,
82
- choices: [
83
- { label: 'Subscribe', value: 'subscribe' },
84
- { label: 'Unsubscribe', value: 'unsubscribe' }
85
- ]
86
- }
87
- }
88
- },
89
- enable_batching: {
90
- label: 'Enable Batching',
91
- description: 'When enabled, Segment will send data to Iterable in batches.',
92
- type: 'boolean',
93
- required: false,
94
- default: true
95
- },
96
- batch_size: {
97
- label: 'Batch Size',
98
- description: 'Maximum number of events to include in each batch. Actual batch sizes may be lower.',
99
- type: 'number',
100
- unsafe_hidden: true,
101
- required: false,
102
- default: 1000
103
- },
104
- batch_keys: {
105
- label: 'Batch Keys',
106
- description: 'The keys to use for batching events together.',
107
- type: 'string',
108
- multiple: true,
109
- unsafe_hidden: true,
110
- required: false,
111
- default: ['subscriptions', 'user_identifier_preference']
112
- }
113
- },
114
- dynamicFields: {
115
- subscriptions: {
116
- subscription_group_id: async (request, { payload, dynamicFieldContext, settings }) => {
117
- return (0, dynamic_fields_1.getSubscriptionGroupId)(request, { payload, dynamicFieldContext, settings });
118
- }
119
- }
120
- },
121
- perform: async (request, { payload, settings }) => {
122
- return (0, functions_1.performUpdateSubscriptions)(request, payload, settings);
123
- },
124
- performBatch: async (request, { settings, payload: payloads }) => {
125
- return (0, functions_1.performBatchUpdateSubscriptions)(request, payloads, settings);
126
- }
127
- };
128
- exports.default = action;
129
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/iterable/updateSubscriptions/index.ts"],"names":[],"mappings":"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"}
@@ -1,39 +0,0 @@
1
- export interface ChannelDetails {
2
- id: number;
3
- name: string;
4
- messageMedium: string;
5
- channelType: string;
6
- }
7
- export interface MessageTypeDetails {
8
- id: number;
9
- name: string;
10
- channelId: number;
11
- subscriptionPolicy: string;
12
- }
13
- export interface ListDetails {
14
- id: number;
15
- name: string;
16
- listType: string;
17
- }
18
- export interface ResolvedIdentifier {
19
- email?: string;
20
- userId?: string;
21
- }
22
- export interface DynamicFieldContext {
23
- selectedArrayIndex?: number;
24
- selectedKey?: string;
25
- query?: string;
26
- }
27
- export interface ChannelsResponse {
28
- channels: ChannelDetails[];
29
- }
30
- export interface MessageTypesResponse {
31
- messageTypes: MessageTypeDetails[];
32
- }
33
- export interface ListsResponse {
34
- lists: ListDetails[];
35
- }
36
- export interface BulkSubscriptionRequestBody {
37
- users?: string[];
38
- usersByUserId?: string[];
39
- }
@@ -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/iterable/updateSubscriptions/types.ts"],"names":[],"mappings":""}
@@ -1,20 +0,0 @@
1
- import type { Payload as StandardEvent } from './standardEvent/generated-types';
2
- import type { Payload as CustomEvent } from './customEvent/generated-types';
3
- export type EventMetadataType = StandardEvent['event_metadata'] | CustomEvent['event_metadata'];
4
- export type ProductsType = StandardEvent['products'] | CustomEvent['products'];
5
- export type ConversionIdType = StandardEvent['conversion_id'] | CustomEvent['conversion_id'];
6
- export type DataProcessingOptionsType = StandardEvent['data_processing_options'] | CustomEvent['data_processing_options'];
7
- export type UserType = StandardEvent['user'] | CustomEvent['user'];
8
- export type ScreenDimensionsType = StandardEvent['screen_dimensions'] | CustomEvent['screen_dimensions'];
9
- export declare function clean(str: string | undefined): string | undefined;
10
- export declare function cleanNum(num: number | undefined): number | undefined;
11
- export declare function getScreen(height?: number, width?: number): {
12
- height: number;
13
- width: number;
14
- } | undefined;
15
- export declare function canonicalizeEmail(value: string): string;
16
- export declare const smartHash: (value: string | undefined, cleaningFunction?: (value: string) => string) => string | undefined;
17
- export declare function cleanPhoneNumber(phoneNumber: string): string;
18
- export declare function getAdId(device_type?: string, advertising_id?: string): {
19
- [key: string]: string | undefined;
20
- } | undefined;
@@ -1,66 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.smartHash = void 0;
4
- exports.clean = clean;
5
- exports.cleanNum = cleanNum;
6
- exports.getScreen = getScreen;
7
- exports.canonicalizeEmail = canonicalizeEmail;
8
- exports.cleanPhoneNumber = cleanPhoneNumber;
9
- exports.getAdId = getAdId;
10
- const hashing_utils_1 = require("../../lib/hashing-utils");
11
- function clean(str) {
12
- if (str === undefined || str === null || str === '')
13
- return undefined;
14
- return str.trim();
15
- }
16
- function cleanNum(num) {
17
- if (num === undefined || num === null)
18
- return undefined;
19
- return num;
20
- }
21
- function getScreen(height, width) {
22
- if (height === undefined || width === undefined)
23
- return undefined;
24
- return { height, width };
25
- }
26
- function canonicalizeEmail(value) {
27
- value = value.trim();
28
- const localPartAndDomain = value.split('@');
29
- const localPart = localPartAndDomain[0].replace(/\./g, '').split('+')[0];
30
- return `${localPart.toLowerCase()}@${localPartAndDomain[1].toLowerCase()}`;
31
- }
32
- const smartHash = (value, cleaningFunction) => {
33
- if (value === undefined)
34
- return;
35
- return (0, hashing_utils_1.processHashing)(value, 'sha256', 'hex', cleaningFunction);
36
- };
37
- exports.smartHash = smartHash;
38
- function cleanPhoneNumber(phoneNumber) {
39
- if (!phoneNumber)
40
- return '';
41
- phoneNumber = phoneNumber.trim();
42
- const prefix = '+';
43
- if (phoneNumber.startsWith('+')) {
44
- phoneNumber = phoneNumber.slice(1);
45
- }
46
- const extensions = ['ext', 'x', 'anexo', '#', 'poste', 'int'];
47
- const lower = phoneNumber.toLowerCase();
48
- for (const keyword of extensions) {
49
- const index = lower.indexOf(keyword);
50
- if (index !== -1) {
51
- phoneNumber = phoneNumber.slice(0, index);
52
- break;
53
- }
54
- }
55
- const digitsOnly = phoneNumber.replace(/\D/g, '');
56
- return prefix + digitsOnly;
57
- }
58
- function getAdId(device_type, advertising_id) {
59
- if (!device_type)
60
- return undefined;
61
- if (!advertising_id)
62
- return undefined;
63
- const hashedAdId = (0, exports.smartHash)(advertising_id);
64
- return device_type === 'ios' ? { idfa: hashedAdId } : { aaid: hashedAdId };
65
- }
66
- //# sourceMappingURL=shared.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../src/destinations/reddit-conversions-api/shared.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- import type { RequestClient } from '@segment/actions-core';
2
- import type { Settings } from './generated-types';
3
- import type { Payload as StandardEvent } from './standardEvent/generated-types';
4
- import type { Payload as CustomEvent } from './customEvent/generated-types';
5
- export declare function sendV2(request: RequestClient, settings: Settings, payload: StandardEvent[] | CustomEvent[]): Promise<import("@segment/actions-core").ModifiedResponse<unknown>>;
@@ -1,87 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.sendV2 = sendV2;
4
- const versioning_info_1 = require("./versioning-info");
5
- const shared_1 = require("./shared");
6
- const V2_URL = (adAccountId) => `https://ads-api.reddit.com/api/${versioning_info_1.REDDIT_CONVERSIONS_API_VERSION}/conversions/events/${adAccountId}`;
7
- async function sendV2(request, settings, payload) {
8
- const data = createRedditPayload(payload, settings);
9
- return request(V2_URL(settings.ad_account_id), {
10
- method: 'POST',
11
- headers: { Authorization: `Bearer ${settings.conversion_token}` },
12
- json: JSON.parse(JSON.stringify(data))
13
- });
14
- }
15
- function createRedditPayload(payloads, settings) {
16
- const payloadItems = [];
17
- payloads.forEach((payload) => {
18
- const { event_at, click_id, products, user, data_processing_options, screen_dimensions, event_metadata, conversion_id } = payload;
19
- const custom_event_name = payload.custom_event_name;
20
- const tracking_type = payload.tracking_type;
21
- const payloadItem = {
22
- event_at: event_at,
23
- event_type: {
24
- tracking_type: custom_event_name ? 'Custom' : tracking_type,
25
- custom_event_name: (0, shared_1.clean)(custom_event_name)
26
- },
27
- click_id: (0, shared_1.clean)(click_id),
28
- event_metadata: getMetadata(event_metadata, products, conversion_id),
29
- user: getUser(user, data_processing_options, screen_dimensions)
30
- };
31
- payloadItems.push(payloadItem);
32
- });
33
- return {
34
- events: payloadItems,
35
- test_mode: settings.test_mode,
36
- partner: 'SEGMENT'
37
- };
38
- }
39
- function getProducts(products) {
40
- if (!products) {
41
- return undefined;
42
- }
43
- return products.map((product) => {
44
- return {
45
- category: (0, shared_1.clean)(product.category),
46
- id: (0, shared_1.clean)(product.id),
47
- name: (0, shared_1.clean)(product.name)
48
- };
49
- });
50
- }
51
- function getMetadata(metadata, products, conversion_id) {
52
- if (!metadata && !products && !conversion_id) {
53
- return undefined;
54
- }
55
- return {
56
- currency: (0, shared_1.clean)(metadata?.currency),
57
- item_count: (0, shared_1.cleanNum)(metadata?.item_count),
58
- value_decimal: (0, shared_1.cleanNum)(metadata?.value_decimal),
59
- products: getProducts(products),
60
- conversion_id: (0, shared_1.smartHash)(conversion_id, (value) => value.trim())
61
- };
62
- }
63
- function getDataProcessingOptions(dataProcessingOptions) {
64
- if (!dataProcessingOptions)
65
- return undefined;
66
- return {
67
- country: (0, shared_1.clean)(dataProcessingOptions.country),
68
- modes: dataProcessingOptions.modes?.split(',').map((mode) => mode.trim()),
69
- region: (0, shared_1.clean)(dataProcessingOptions.region)
70
- };
71
- }
72
- function getUser(user, dataProcessingOptions, screenDimensions) {
73
- if (!user)
74
- return;
75
- return {
76
- ...(0, shared_1.getAdId)(user.device_type, user.advertising_id),
77
- email: (0, shared_1.smartHash)(user.email, shared_1.canonicalizeEmail),
78
- external_id: (0, shared_1.smartHash)(user.external_id, (value) => value.trim()),
79
- ip_address: (0, shared_1.smartHash)(user.ip_address, (value) => value.trim()),
80
- user_agent: (0, shared_1.clean)(user.user_agent),
81
- uuid: (0, shared_1.clean)(user.uuid),
82
- data_processing_options: getDataProcessingOptions(dataProcessingOptions),
83
- screen_dimensions: (0, shared_1.getScreen)(screenDimensions?.height, screenDimensions?.width),
84
- phone_number: (0, shared_1.smartHash)(user.phone_number, shared_1.cleanPhoneNumber)
85
- };
86
- }
87
- //# sourceMappingURL=v2.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"v2.js","sourceRoot":"","sources":["../../../src/destinations/reddit-conversions-api/v2.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- import type { RequestClient } from '@segment/actions-core';
2
- import type { Settings } from './generated-types';
3
- import type { Payload as StandardEvent } from './standardEvent/generated-types';
4
- import type { Payload as CustomEvent } from './customEvent/generated-types';
5
- export declare function sendV3(request: RequestClient, settings: Settings, payload: StandardEvent[] | CustomEvent[]): Promise<import("@segment/actions-core").ModifiedResponse<unknown>>;
6
- export declare function toEpochMs(value: string | number | undefined): number;
@@ -1,118 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.sendV3 = sendV3;
4
- exports.toEpochMs = toEpochMs;
5
- const actions_core_1 = require("@segment/actions-core");
6
- const versioning_info_1 = require("./versioning-info");
7
- const shared_1 = require("./shared");
8
- const V3_URL = (pixelId) => `https://ads-api.reddit.com/api/${versioning_info_1.REDDIT_CONVERSIONS_CANARY_API_VERSION}/pixels/${pixelId}/conversion_events`;
9
- const TRACKING_TYPE_V3 = {
10
- PageVisit: 'PAGE_VISIT',
11
- ViewContent: 'VIEW_CONTENT',
12
- Search: 'SEARCH',
13
- AddToCart: 'ADD_TO_CART',
14
- AddToWishlist: 'ADD_TO_WISHLIST',
15
- Purchase: 'PURCHASE',
16
- Lead: 'LEAD',
17
- SignUp: 'SIGN_UP',
18
- Custom: 'CUSTOM'
19
- };
20
- async function sendV3(request, settings, payload) {
21
- const data = createRedditPayloadV3(payload);
22
- return request(V3_URL(settings.ad_account_id), {
23
- method: 'POST',
24
- headers: { Authorization: `Bearer ${settings.conversion_token}` },
25
- json: JSON.parse(JSON.stringify(data))
26
- });
27
- }
28
- function createRedditPayloadV3(payloads) {
29
- const test_id = (0, shared_1.clean)(payloads[0]?.test_id);
30
- const events = payloads.map((payload) => {
31
- const { event_at, click_id, products, user, data_processing_options, screen_dimensions, event_metadata, conversion_id, action_source, event_source_url } = payload;
32
- const custom_event_name = (0, shared_1.clean)(payload.custom_event_name);
33
- const tracking_type = custom_event_name ? 'Custom' : payload.tracking_type;
34
- return {
35
- event_at: toEpochMs(event_at),
36
- action_source,
37
- event_source_url: (0, shared_1.clean)(event_source_url),
38
- click_id: (0, shared_1.clean)(click_id),
39
- type: {
40
- tracking_type: toV3TrackingType(tracking_type),
41
- custom_event_name
42
- },
43
- metadata: getMetadata(event_metadata, products, conversion_id),
44
- user: getUser(user, data_processing_options, screen_dimensions)
45
- };
46
- });
47
- return { data: { events, partner: 'SEGMENT', test_id } };
48
- }
49
- function toEpochMs(value) {
50
- if (value === undefined || value === null || value === '') {
51
- throw new actions_core_1.PayloadValidationError('event_at is required');
52
- }
53
- if (typeof value === 'number' && Number.isInteger(value))
54
- return value;
55
- if (typeof value === 'string' && /^\d{13}$/.test(value.trim()))
56
- return Number(value.trim());
57
- if (typeof value === 'string') {
58
- const ms = Date.parse(value);
59
- if (!Number.isNaN(ms))
60
- return ms;
61
- }
62
- throw new actions_core_1.PayloadValidationError(`event_at must be an ISO 8601 timestamp or epoch milliseconds, received: ${String(value)}`);
63
- }
64
- function toV3TrackingType(tracking_type) {
65
- if (!tracking_type)
66
- throw new actions_core_1.PayloadValidationError('tracking_type is required');
67
- const mapped = TRACKING_TYPE_V3[tracking_type];
68
- if (!mapped)
69
- throw new actions_core_1.PayloadValidationError(`Unsupported tracking_type: ${tracking_type}`);
70
- return mapped;
71
- }
72
- function getProducts(products) {
73
- if (!products)
74
- return undefined;
75
- return products.map((product) => ({
76
- category: (0, shared_1.clean)(product.category),
77
- id: (0, shared_1.clean)(product.id),
78
- name: (0, shared_1.clean)(product.name),
79
- quantity: (0, shared_1.cleanNum)(product.quantity),
80
- item_price: (0, shared_1.cleanNum)(product.item_price)
81
- }));
82
- }
83
- function getMetadata(metadata, products, conversion_id) {
84
- if (!metadata && !products && !conversion_id)
85
- return undefined;
86
- return {
87
- currency: (0, shared_1.clean)(metadata?.currency),
88
- item_count: (0, shared_1.cleanNum)(metadata?.item_count),
89
- value: (0, shared_1.cleanNum)(metadata?.value_decimal),
90
- products: getProducts(products),
91
- conversion_id: (0, shared_1.smartHash)(conversion_id, (value) => value.trim())
92
- };
93
- }
94
- function getDataProcessingOptions(dataProcessingOptions) {
95
- if (!dataProcessingOptions)
96
- return undefined;
97
- return {
98
- country: (0, shared_1.clean)(dataProcessingOptions.country),
99
- modes: dataProcessingOptions.modes?.split(',').map((mode) => mode.trim()),
100
- region: (0, shared_1.clean)(dataProcessingOptions.region)
101
- };
102
- }
103
- function getUser(user, dataProcessingOptions, screenDimensions) {
104
- if (!user)
105
- return;
106
- return {
107
- ...(0, shared_1.getAdId)(user.device_type, user.advertising_id),
108
- email: (0, shared_1.smartHash)(user.email, shared_1.canonicalizeEmail),
109
- external_id: (0, shared_1.smartHash)(user.external_id, (value) => value.trim()),
110
- ip_address: (0, shared_1.smartHash)(user.ip_address, (value) => value.trim()),
111
- user_agent: (0, shared_1.clean)(user.user_agent),
112
- uuid: (0, shared_1.clean)(user.uuid),
113
- data_processing_options: getDataProcessingOptions(dataProcessingOptions),
114
- screen_dimensions: (0, shared_1.getScreen)(screenDimensions?.height, screenDimensions?.width),
115
- phone_number: (0, shared_1.smartHash)(user.phone_number, shared_1.cleanPhoneNumber)
116
- };
117
- }
118
- //# sourceMappingURL=v3.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"v3.js","sourceRoot":"","sources":["../../../src/destinations/reddit-conversions-api/v3.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export declare const S3_HASHING_FEATURE_FLAG = "actions-s3-hashing";
@@ -1,5 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.S3_HASHING_FEATURE_FLAG = void 0;
4
- exports.S3_HASHING_FEATURE_FLAG = 'actions-s3-hashing';
5
- //# sourceMappingURL=constants.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/destinations/s3/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,uBAAuB,GAAG,oBAAoB,CAAA"}