@segment/action-destinations 3.169.0 → 3.171.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 (193) hide show
  1. package/dist/destinations/acoustic/Utility/eventprocessing.js +18 -18
  2. package/dist/destinations/acoustic/Utility/eventprocessing.js.map +1 -1
  3. package/dist/destinations/adobe-target/adobeTarget_operations.js +3 -3
  4. package/dist/destinations/adobe-target/adobeTarget_operations.js.map +1 -1
  5. package/dist/destinations/airship/customEvents/generated-types.d.ts +9 -0
  6. package/dist/destinations/airship/customEvents/generated-types.js +3 -0
  7. package/dist/destinations/airship/customEvents/generated-types.js.map +1 -0
  8. package/dist/destinations/airship/customEvents/index.d.ts +5 -0
  9. package/dist/destinations/airship/customEvents/index.js +59 -0
  10. package/dist/destinations/airship/customEvents/index.js.map +1 -0
  11. package/dist/destinations/airship/generated-types.d.ts +5 -0
  12. package/dist/destinations/airship/generated-types.js +3 -0
  13. package/dist/destinations/airship/generated-types.js.map +1 -0
  14. package/dist/destinations/airship/index.d.ts +4 -0
  15. package/dist/destinations/airship/index.js +97 -0
  16. package/dist/destinations/airship/index.js.map +1 -0
  17. package/dist/destinations/airship/manageTags/generated-types.d.ts +7 -0
  18. package/dist/destinations/airship/manageTags/generated-types.js +3 -0
  19. package/dist/destinations/airship/manageTags/generated-types.js.map +1 -0
  20. package/dist/destinations/airship/manageTags/index.d.ts +5 -0
  21. package/dist/destinations/airship/manageTags/index.js +38 -0
  22. package/dist/destinations/airship/manageTags/index.js.map +1 -0
  23. package/dist/destinations/airship/setAttributes/generated-types.d.ts +30 -0
  24. package/dist/destinations/airship/setAttributes/generated-types.js +3 -0
  25. package/dist/destinations/airship/setAttributes/generated-types.js.map +1 -0
  26. package/dist/destinations/airship/setAttributes/index.d.ts +5 -0
  27. package/dist/destinations/airship/setAttributes/index.js +182 -0
  28. package/dist/destinations/airship/setAttributes/index.js.map +1 -0
  29. package/dist/destinations/airship/utilities.d.ts +28 -0
  30. package/dist/destinations/airship/utilities.js +146 -0
  31. package/dist/destinations/airship/utilities.js.map +1 -0
  32. package/dist/destinations/ambee/generated-types.d.ts +7 -0
  33. package/dist/destinations/ambee/generated-types.js +3 -0
  34. package/dist/destinations/ambee/generated-types.js.map +1 -0
  35. package/dist/destinations/ambee/index.d.ts +4 -0
  36. package/dist/destinations/ambee/index.js +62 -0
  37. package/dist/destinations/ambee/index.js.map +1 -0
  38. package/dist/destinations/ambee/subscribeUserToCampaign/generated-types.d.ts +9 -0
  39. package/dist/destinations/ambee/subscribeUserToCampaign/generated-types.js +3 -0
  40. package/dist/destinations/ambee/subscribeUserToCampaign/generated-types.js.map +1 -0
  41. package/dist/destinations/ambee/subscribeUserToCampaign/index.d.ts +5 -0
  42. package/dist/destinations/ambee/subscribeUserToCampaign/index.js +88 -0
  43. package/dist/destinations/ambee/subscribeUserToCampaign/index.js.map +1 -0
  44. package/dist/destinations/emarsys/addToContactList/index.d.ts +1 -1
  45. package/dist/destinations/emarsys/addToContactList/index.js +4 -8
  46. package/dist/destinations/emarsys/addToContactList/index.js.map +1 -1
  47. package/dist/destinations/emarsys/emarsys-helper.js +0 -4
  48. package/dist/destinations/emarsys/emarsys-helper.js.map +1 -1
  49. package/dist/destinations/emarsys/removeFromContactList/index.d.ts +1 -1
  50. package/dist/destinations/emarsys/removeFromContactList/index.js +4 -8
  51. package/dist/destinations/emarsys/removeFromContactList/index.js.map +1 -1
  52. package/dist/destinations/emarsys/triggerEvent/index.d.ts +1 -1
  53. package/dist/destinations/emarsys/triggerEvent/index.js +7 -12
  54. package/dist/destinations/emarsys/triggerEvent/index.js.map +1 -1
  55. package/dist/destinations/emarsys/upsertContact/index.d.ts +1 -1
  56. package/dist/destinations/emarsys/upsertContact/index.js +6 -11
  57. package/dist/destinations/emarsys/upsertContact/index.js.map +1 -1
  58. package/dist/destinations/encharge/createUpdateObject/index.js +2 -2
  59. package/dist/destinations/encharge/createUpdateObject/index.js.map +1 -1
  60. package/dist/destinations/encharge/index.js +1 -1
  61. package/dist/destinations/encharge/index.js.map +1 -1
  62. package/dist/destinations/engage-messaging-twilio/index.js +3 -1
  63. package/dist/destinations/engage-messaging-twilio/index.js.map +1 -1
  64. package/dist/destinations/engage-messaging-twilio/sendMobilePush/generated-types.d.ts +31 -0
  65. package/dist/destinations/engage-messaging-twilio/sendMobilePush/generated-types.js +3 -0
  66. package/dist/destinations/engage-messaging-twilio/sendMobilePush/generated-types.js.map +1 -0
  67. package/dist/destinations/engage-messaging-twilio/sendMobilePush/index.d.ts +5 -0
  68. package/dist/destinations/engage-messaging-twilio/sendMobilePush/index.js +202 -0
  69. package/dist/destinations/engage-messaging-twilio/sendMobilePush/index.js.map +1 -0
  70. package/dist/destinations/engage-messaging-twilio/sendMobilePush/push-sender.d.ts +17 -0
  71. package/dist/destinations/engage-messaging-twilio/sendMobilePush/push-sender.js +173 -0
  72. package/dist/destinations/engage-messaging-twilio/sendMobilePush/push-sender.js.map +1 -0
  73. package/dist/destinations/engage-messaging-twilio/sendSms/sms-sender.d.ts +3 -5
  74. package/dist/destinations/engage-messaging-twilio/sendSms/sms-sender.js +27 -74
  75. package/dist/destinations/engage-messaging-twilio/sendSms/sms-sender.js.map +1 -1
  76. package/dist/destinations/engage-messaging-twilio/sendWhatsApp/whatsapp-sender.d.ts +2 -2
  77. package/dist/destinations/engage-messaging-twilio/sendWhatsApp/whatsapp-sender.js +4 -4
  78. package/dist/destinations/engage-messaging-twilio/sendWhatsApp/whatsapp-sender.js.map +1 -1
  79. package/dist/destinations/engage-messaging-twilio/utils/message-sender.d.ts +13 -11
  80. package/dist/destinations/engage-messaging-twilio/utils/message-sender.js +122 -126
  81. package/dist/destinations/engage-messaging-twilio/utils/message-sender.js.map +1 -1
  82. package/dist/destinations/engage-messaging-twilio/utils/phone-message.d.ts +12 -0
  83. package/dist/destinations/engage-messaging-twilio/utils/phone-message.js +100 -0
  84. package/dist/destinations/engage-messaging-twilio/utils/phone-message.js.map +1 -0
  85. package/dist/destinations/engage-messaging-twilio/utils/test-utils.d.ts +34 -0
  86. package/dist/destinations/engage-messaging-twilio/utils/test-utils.js +35 -0
  87. package/dist/destinations/engage-messaging-twilio/utils/test-utils.js.map +1 -0
  88. package/dist/destinations/engage-messaging-twilio/utils/types.d.ts +39 -0
  89. package/dist/destinations/engage-messaging-twilio/utils/types.js +3 -0
  90. package/dist/destinations/engage-messaging-twilio/utils/types.js.map +1 -0
  91. package/dist/destinations/facebook-conversions-api/addToCart/generated-types.d.ts +21 -0
  92. package/dist/destinations/facebook-conversions-api/addToCart/index.js +3 -0
  93. package/dist/destinations/facebook-conversions-api/addToCart/index.js.map +1 -1
  94. package/dist/destinations/facebook-conversions-api/custom/generated-types.d.ts +21 -0
  95. package/dist/destinations/facebook-conversions-api/custom/index.js +3 -0
  96. package/dist/destinations/facebook-conversions-api/custom/index.js.map +1 -1
  97. package/dist/destinations/facebook-conversions-api/fb-capi-app-data.d.ts +10 -0
  98. package/dist/destinations/facebook-conversions-api/fb-capi-app-data.js +179 -0
  99. package/dist/destinations/facebook-conversions-api/fb-capi-app-data.js.map +1 -0
  100. package/dist/destinations/facebook-conversions-api/index.js +1 -1
  101. package/dist/destinations/facebook-conversions-api/index.js.map +1 -1
  102. package/dist/destinations/facebook-conversions-api/initiateCheckout/generated-types.d.ts +21 -0
  103. package/dist/destinations/facebook-conversions-api/initiateCheckout/index.js +3 -0
  104. package/dist/destinations/facebook-conversions-api/initiateCheckout/index.js.map +1 -1
  105. package/dist/destinations/facebook-conversions-api/pageView/generated-types.d.ts +21 -0
  106. package/dist/destinations/facebook-conversions-api/pageView/index.js +3 -0
  107. package/dist/destinations/facebook-conversions-api/pageView/index.js.map +1 -1
  108. package/dist/destinations/facebook-conversions-api/purchase/generated-types.d.ts +21 -0
  109. package/dist/destinations/facebook-conversions-api/purchase/index.js +3 -0
  110. package/dist/destinations/facebook-conversions-api/purchase/index.js.map +1 -1
  111. package/dist/destinations/facebook-conversions-api/search/generated-types.d.ts +21 -0
  112. package/dist/destinations/facebook-conversions-api/search/index.js +3 -0
  113. package/dist/destinations/facebook-conversions-api/search/index.js.map +1 -1
  114. package/dist/destinations/facebook-conversions-api/viewContent/generated-types.d.ts +21 -0
  115. package/dist/destinations/facebook-conversions-api/viewContent/index.js +3 -0
  116. package/dist/destinations/facebook-conversions-api/viewContent/index.js.map +1 -1
  117. package/dist/destinations/facebook-custom-audiences/generated-types.d.ts +3 -0
  118. package/dist/destinations/facebook-custom-audiences/generated-types.js +3 -0
  119. package/dist/destinations/facebook-custom-audiences/generated-types.js.map +1 -0
  120. package/dist/destinations/facebook-custom-audiences/index.d.ts +4 -0
  121. package/dist/destinations/facebook-custom-audiences/index.js +32 -0
  122. package/dist/destinations/facebook-custom-audiences/index.js.map +1 -0
  123. package/dist/destinations/facebook-custom-audiences/syncEngage/generated-types.d.ts +3 -0
  124. package/dist/destinations/facebook-custom-audiences/syncEngage/generated-types.js +3 -0
  125. package/dist/destinations/facebook-custom-audiences/syncEngage/generated-types.js.map +1 -0
  126. package/dist/destinations/facebook-custom-audiences/syncEngage/index.d.ts +5 -0
  127. package/dist/destinations/facebook-custom-audiences/syncEngage/index.js +18 -0
  128. package/dist/destinations/facebook-custom-audiences/syncEngage/index.js.map +1 -0
  129. package/dist/destinations/facebook-custom-audiences/syncRetl/generated-types.d.ts +3 -0
  130. package/dist/destinations/facebook-custom-audiences/syncRetl/generated-types.js +3 -0
  131. package/dist/destinations/facebook-custom-audiences/syncRetl/generated-types.js.map +1 -0
  132. package/dist/destinations/facebook-custom-audiences/syncRetl/index.d.ts +5 -0
  133. package/dist/destinations/facebook-custom-audiences/syncRetl/index.js +18 -0
  134. package/dist/destinations/facebook-custom-audiences/syncRetl/index.js.map +1 -0
  135. package/dist/destinations/fullstory/index.js +1 -1
  136. package/dist/destinations/fullstory/index.js.map +1 -1
  137. package/dist/destinations/heap/identifyUser/index.js +0 -3
  138. package/dist/destinations/heap/identifyUser/index.js.map +1 -1
  139. package/dist/destinations/heap/trackEvent/index.js +0 -3
  140. package/dist/destinations/heap/trackEvent/index.js.map +1 -1
  141. package/dist/destinations/index.js +5 -0
  142. package/dist/destinations/index.js.map +1 -1
  143. package/dist/destinations/livelike-cloud/trackEvent/index.js +0 -3
  144. package/dist/destinations/livelike-cloud/trackEvent/index.js.map +1 -1
  145. package/dist/destinations/noop/generated-types.d.ts +2 -0
  146. package/dist/destinations/noop/generated-types.js +3 -0
  147. package/dist/destinations/noop/generated-types.js.map +1 -0
  148. package/dist/destinations/noop/index.d.ts +4 -0
  149. package/dist/destinations/noop/index.js +27 -0
  150. package/dist/destinations/noop/index.js.map +1 -0
  151. package/dist/destinations/noop/noop/generated-types.d.ts +3 -0
  152. package/dist/destinations/noop/noop/generated-types.js +3 -0
  153. package/dist/destinations/noop/noop/generated-types.js.map +1 -0
  154. package/dist/destinations/noop/noop/index.d.ts +5 -0
  155. package/dist/destinations/noop/noop/index.js +19 -0
  156. package/dist/destinations/noop/noop/index.js.map +1 -0
  157. package/dist/destinations/pinterest-conversions/reportConversionEvent/index.js.map +1 -1
  158. package/dist/destinations/podscribe/page/generated-types.d.ts +3 -0
  159. package/dist/destinations/podscribe/page/index.js +10 -1
  160. package/dist/destinations/podscribe/page/index.js.map +1 -1
  161. package/dist/destinations/podscribe/track/generated-types.d.ts +3 -0
  162. package/dist/destinations/podscribe/track/index.js +10 -1
  163. package/dist/destinations/podscribe/track/index.js.map +1 -1
  164. package/dist/destinations/the-trade-desk-crm/generated-types.d.ts +2 -0
  165. package/dist/destinations/the-trade-desk-crm/index.js +15 -1
  166. package/dist/destinations/the-trade-desk-crm/index.js.map +1 -1
  167. package/dist/destinations/tiktok-audiences/functions.d.ts +1 -1
  168. package/dist/destinations/tiktok-audiences/functions.js +3 -0
  169. package/dist/destinations/tiktok-audiences/functions.js.map +1 -1
  170. package/dist/destinations/tiktok-conversions/reportWebEvent/index.js +1 -1
  171. package/dist/destinations/tiktok-conversions/reportWebEvent/index.js.map +1 -1
  172. package/dist/destinations/userpilot/generated-types.d.ts +4 -0
  173. package/dist/destinations/userpilot/generated-types.js +3 -0
  174. package/dist/destinations/userpilot/generated-types.js.map +1 -0
  175. package/dist/destinations/userpilot/identifyUser/generated-types.d.ts +7 -0
  176. package/dist/destinations/userpilot/identifyUser/generated-types.js +3 -0
  177. package/dist/destinations/userpilot/identifyUser/generated-types.js.map +1 -0
  178. package/dist/destinations/userpilot/identifyUser/index.d.ts +5 -0
  179. package/dist/destinations/userpilot/identifyUser/index.js +52 -0
  180. package/dist/destinations/userpilot/identifyUser/index.js.map +1 -0
  181. package/dist/destinations/userpilot/index.d.ts +4 -0
  182. package/dist/destinations/userpilot/index.js +70 -0
  183. package/dist/destinations/userpilot/index.js.map +1 -0
  184. package/dist/destinations/userpilot/request-utils.d.ts +13 -0
  185. package/dist/destinations/userpilot/request-utils.js +62 -0
  186. package/dist/destinations/userpilot/request-utils.js.map +1 -0
  187. package/dist/destinations/userpilot/trackEvent/generated-types.d.ts +7 -0
  188. package/dist/destinations/userpilot/trackEvent/generated-types.js +3 -0
  189. package/dist/destinations/userpilot/trackEvent/generated-types.js.map +1 -0
  190. package/dist/destinations/userpilot/trackEvent/index.d.ts +5 -0
  191. package/dist/destinations/userpilot/trackEvent/index.js +48 -0
  192. package/dist/destinations/userpilot/trackEvent/index.js.map +1 -0
  193. package/package.json +4 -4
@@ -0,0 +1,28 @@
1
+ import { RequestClient } from '@segment/actions-core';
2
+ import type { Settings } from './generated-types';
3
+ import { Payload as CustomEventsPayload } from './customEvents/generated-types';
4
+ import { Payload as AttributesPayload } from './setAttributes/generated-types';
5
+ import { Payload as TagsPayload } from './manageTags/generated-types';
6
+ export declare function setCustomEvent(request: RequestClient, settings: Settings, payload: CustomEventsPayload): Promise<import("@segment/actions-core").ModifiedResponse<unknown>>;
7
+ export declare function setBatchCustomEvent(request: RequestClient, settings: Settings, payloads: CustomEventsPayload[]): Promise<import("@segment/actions-core").ModifiedResponse<unknown>>;
8
+ export declare function setAttribute(request: RequestClient, settings: Settings, payload: AttributesPayload): Promise<import("@segment/actions-core").ModifiedResponse<unknown>>;
9
+ export declare function manageTags(request: RequestClient, settings: Settings, payload: TagsPayload): Promise<import("@segment/actions-core").ModifiedResponse<unknown>>;
10
+ export declare function map_endpoint(region: string): "https://go.airship.eu" | "https://go.urbanairship.com";
11
+ declare function _build_custom_event_object(payload: CustomEventsPayload): object;
12
+ declare function _build_attributes_object(payload: AttributesPayload): object;
13
+ declare function _build_attribute(attribute_key: string, attribute_value: any, occurred: string | number): {
14
+ action: string;
15
+ key: string;
16
+ value?: string | number | boolean | undefined;
17
+ timestamp: string | boolean;
18
+ };
19
+ declare function _build_tags_object(payload: TagsPayload): object;
20
+ declare function validate_timestamp(timestamp: string | number | Date): string | false;
21
+ export declare const _private: {
22
+ _build_custom_event_object: typeof _build_custom_event_object;
23
+ _build_attributes_object: typeof _build_attributes_object;
24
+ _build_attribute: typeof _build_attribute;
25
+ _build_tags_object: typeof _build_tags_object;
26
+ validate_timestamp: typeof validate_timestamp;
27
+ };
28
+ export {};
@@ -0,0 +1,146 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports._private = exports.map_endpoint = exports.manageTags = exports.setAttribute = exports.setBatchCustomEvent = exports.setCustomEvent = void 0;
4
+ function setCustomEvent(request, settings, payload) {
5
+ const endpoint = map_endpoint(settings.endpoint);
6
+ const uri = `${endpoint}/api/custom-events`;
7
+ const airship_payload = _build_custom_event_object(payload);
8
+ return do_request(request, uri, [airship_payload]);
9
+ }
10
+ exports.setCustomEvent = setCustomEvent;
11
+ function setBatchCustomEvent(request, settings, payloads) {
12
+ const endpoint = map_endpoint(settings.endpoint);
13
+ const uri = `${endpoint}/api/custom-events`;
14
+ const airship_payload = [];
15
+ for (let i = 0; i < payloads.length; i++) {
16
+ airship_payload.push(_build_custom_event_object(payloads[i]));
17
+ }
18
+ return do_request(request, uri, airship_payload);
19
+ }
20
+ exports.setBatchCustomEvent = setBatchCustomEvent;
21
+ function setAttribute(request, settings, payload) {
22
+ const endpoint = map_endpoint(settings.endpoint);
23
+ const uri = `${endpoint}/api/channels/attributes`;
24
+ const attributes = _build_attributes_object(payload);
25
+ const airship_payload = {
26
+ attributes: attributes,
27
+ audience: {
28
+ named_user_id: `${payload.named_user_id}`
29
+ }
30
+ };
31
+ return do_request(request, uri, airship_payload);
32
+ }
33
+ exports.setAttribute = setAttribute;
34
+ function manageTags(request, settings, payload) {
35
+ const endpoint = map_endpoint(settings.endpoint);
36
+ const uri = `${endpoint}/api/named_users/tags`;
37
+ const airship_payload = _build_tags_object(payload);
38
+ return do_request(request, uri, airship_payload);
39
+ }
40
+ exports.manageTags = manageTags;
41
+ function do_request(request, uri, payload) {
42
+ return request(uri, {
43
+ method: 'POST',
44
+ json: payload
45
+ });
46
+ }
47
+ function map_endpoint(region) {
48
+ if (region === 'EU') {
49
+ return 'https://go.airship.eu';
50
+ }
51
+ else {
52
+ return 'https://go.urbanairship.com';
53
+ }
54
+ }
55
+ exports.map_endpoint = map_endpoint;
56
+ function _build_custom_event_object(payload) {
57
+ if (payload.properties) {
58
+ payload.properties.source = 'Segment';
59
+ }
60
+ else {
61
+ payload.properties = {
62
+ source: 'Segment'
63
+ };
64
+ }
65
+ const airship_payload = {
66
+ occurred: validate_timestamp(payload.occurred),
67
+ user: {
68
+ named_user_id: payload.named_user_id
69
+ },
70
+ body: {
71
+ name: payload.name.toLowerCase(),
72
+ interaction_type: 'cdp',
73
+ properties: payload.properties
74
+ }
75
+ };
76
+ return airship_payload;
77
+ }
78
+ function _build_attributes_object(payload) {
79
+ const attributes_list = [];
80
+ const attributes = payload.attributes || {};
81
+ for (const key in attributes) {
82
+ attributes_list.push(_build_attribute(key, attributes[key], payload.occurred));
83
+ }
84
+ return attributes_list;
85
+ }
86
+ function _build_attribute(attribute_key, attribute_value, occurred) {
87
+ const attribute = {
88
+ action: 'set',
89
+ key: attribute_key,
90
+ timestamp: validate_timestamp(occurred)
91
+ };
92
+ if (attribute_value == null || (typeof attribute_value == 'string' && attribute_value.length === 0)) {
93
+ attribute.action = 'remove';
94
+ }
95
+ else {
96
+ attribute.action = 'set';
97
+ attribute.value = attribute_value;
98
+ }
99
+ return attribute;
100
+ }
101
+ function _build_tags_object(payload) {
102
+ const tags_to_add = [];
103
+ const tags_to_remove = [];
104
+ const tag_group = payload.tag_group;
105
+ const properties = payload.tags || {};
106
+ for (const [k, v] of Object.entries(properties)) {
107
+ if (typeof v == 'boolean') {
108
+ if (v) {
109
+ tags_to_add.push(k);
110
+ }
111
+ else {
112
+ tags_to_remove.push(k);
113
+ }
114
+ }
115
+ }
116
+ const airship_payload = { audience: {} };
117
+ airship_payload.audience = {
118
+ named_user_id: payload.named_user_id
119
+ };
120
+ if (tags_to_add.length > 0) {
121
+ airship_payload.add = { [tag_group]: tags_to_add };
122
+ }
123
+ if (tags_to_remove.length > 0) {
124
+ airship_payload.remove = { [tag_group]: tags_to_remove };
125
+ }
126
+ return airship_payload;
127
+ }
128
+ function validate_timestamp(timestamp) {
129
+ const payload_time_stamp = new Date(timestamp);
130
+ const three_months_ago = new Date();
131
+ three_months_ago.setDate(three_months_ago.getDate() - 90);
132
+ if (three_months_ago > payload_time_stamp) {
133
+ return false;
134
+ }
135
+ else {
136
+ return payload_time_stamp.toISOString().split('.')[0];
137
+ }
138
+ }
139
+ exports._private = {
140
+ _build_custom_event_object,
141
+ _build_attributes_object,
142
+ _build_attribute,
143
+ _build_tags_object,
144
+ validate_timestamp
145
+ };
146
+ //# sourceMappingURL=utilities.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utilities.js","sourceRoot":"","sources":["../../../src/destinations/airship/utilities.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export interface Settings {
2
+ companyName: string;
3
+ apiKey: string;
4
+ email: string;
5
+ segmentRegion?: string;
6
+ segmentWriteKey: string;
7
+ }
@@ -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/ambee/generated-types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ import type { DestinationDefinition } from '@segment/actions-core';
2
+ import type { Settings } from './generated-types';
3
+ declare const destination: DestinationDefinition<Settings>;
4
+ export default destination;
@@ -0,0 +1,62 @@
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 subscribeUserToCampaign_1 = __importDefault(require("./subscribeUserToCampaign"));
7
+ const destination = {
8
+ name: 'Ambee (Actions)',
9
+ slug: 'actions-ambee',
10
+ mode: 'cloud',
11
+ authentication: {
12
+ scheme: 'custom',
13
+ fields: {
14
+ companyName: {
15
+ label: 'Company Name',
16
+ description: 'Enter your company’s name',
17
+ type: 'string',
18
+ required: true
19
+ },
20
+ apiKey: {
21
+ label: 'API Key',
22
+ description: 'The API Key is available via Ambee’s API Dashboard: https://api-dashboard.getambee.com. Paste the API key generated on the homepage. For bulk use, subscribe to enterprise plan on the dashboard',
23
+ type: 'string',
24
+ required: true
25
+ },
26
+ email: {
27
+ label: 'Email',
28
+ description: 'Enter the email address you used to sign up for Ambee’s API Key.',
29
+ type: 'string',
30
+ required: true
31
+ },
32
+ segmentRegion: {
33
+ label: 'Segment Region For Notifications',
34
+ description: 'Your Segment Workspace is hosted in either the US or EU Region. Select which Segment Region Ambee should send notifications to. The default is US',
35
+ type: 'string',
36
+ choices: [
37
+ { label: 'US', value: 'US' },
38
+ { label: 'EU', value: 'EU' }
39
+ ],
40
+ default: 'US',
41
+ required: false
42
+ },
43
+ segmentWriteKey: {
44
+ label: 'Segment WriteKey For Notifications',
45
+ description: 'This is your Segment Source WriteKey. Use this WriteKey to send data from Ambee to your destination',
46
+ type: 'string',
47
+ required: true
48
+ }
49
+ },
50
+ testAuthentication: (request, { settings }) => {
51
+ return request('https://segment-api.ambeedata.com/v1/company-info', {
52
+ method: 'post',
53
+ json: settings
54
+ });
55
+ }
56
+ },
57
+ actions: {
58
+ subscribeUserToCampaign: subscribeUserToCampaign_1.default
59
+ }
60
+ };
61
+ exports.default = destination;
62
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/destinations/ambee/index.ts"],"names":[],"mappings":";;;;;AAGA,wFAA+D;AAE/D,MAAM,WAAW,GAAoC;IACnD,IAAI,EAAE,iBAAiB;IACvB,IAAI,EAAE,eAAe;IACrB,IAAI,EAAE,OAAO;IAEb,cAAc,EAAE;QACd,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE;YACN,WAAW,EAAE;gBACX,KAAK,EAAE,cAAc;gBACrB,WAAW,EAAE,2BAA2B;gBACxC,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;aACf;YACD,MAAM,EAAE;gBACN,KAAK,EAAE,SAAS;gBAChB,WAAW,EACT,kMAAkM;gBACpM,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;aACf;YACD,KAAK,EAAE;gBACL,KAAK,EAAE,OAAO;gBACd,WAAW,EAAE,kEAAkE;gBAC/E,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;aACf;YACD,aAAa,EAAE;gBACb,KAAK,EAAE,kCAAkC;gBACzC,WAAW,EACT,mJAAmJ;gBACrJ,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE;oBACP,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;oBAC5B,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;iBAC7B;gBACD,OAAO,EAAE,IAAI;gBACb,QAAQ,EAAE,KAAK;aAChB;YACD,eAAe,EAAE;gBACf,KAAK,EAAE,oCAAoC;gBAC3C,WAAW,EACT,qGAAqG;gBACvG,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;aACf;SACF;QACD,kBAAkB,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;YAC5C,OAAO,OAAO,CAAC,mDAAmD,EAAE;gBAClE,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,QAAQ;aACf,CAAC,CAAA;QAIJ,CAAC;KACF;IAED,OAAO,EAAE;QACP,uBAAuB,EAAvB,iCAAuB;KACxB;CACF,CAAA;AAED,kBAAe,WAAW,CAAA"}
@@ -0,0 +1,9 @@
1
+ export interface Payload {
2
+ segmentLibrary?: string;
3
+ platform?: string;
4
+ campaignId?: string;
5
+ userId: string;
6
+ airQualitySubscription?: string;
7
+ pollenSubscription?: string;
8
+ ipAddress: string;
9
+ }
@@ -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/ambee/subscribeUserToCampaign/generated-types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ import { ActionDefinition } from '@segment/actions-core';
2
+ import type { Settings } from '../generated-types';
3
+ import type { Payload } from './generated-types';
4
+ declare const action: ActionDefinition<Settings, Payload>;
5
+ export default action;
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const actions_core_1 = require("@segment/actions-core");
4
+ const action = {
5
+ title: 'Subscribe to Campaign',
6
+ description: 'Subscribes a user to notifications',
7
+ fields: {
8
+ segmentLibrary: {
9
+ label: 'Segment Library',
10
+ description: 'The Segment library used when the event was triggered. This Integration will only work with analytics.js or Mobile Segment libraries',
11
+ type: 'hidden',
12
+ default: { '@path': '$.context.library.name' }
13
+ },
14
+ platform: {
15
+ label: 'User Device Platform',
16
+ description: 'The platform of the device which generated the event e.g. "Android" or "iOS"',
17
+ type: 'hidden',
18
+ default: { '@path': '$.context.device.type' }
19
+ },
20
+ campaignId: {
21
+ label: 'Campaign ID',
22
+ description: 'Create an ID for your campaign. For every campaign you activate using Ambee’s pollen and/or air quality action, you need to create a new ID. Note: a campaign ID must not contain spaces. Example:“companyabc_ambeepollen” is valid while “companyabc ambeepollen” is not valid',
23
+ type: 'string'
24
+ },
25
+ userId: {
26
+ label: 'User ID',
27
+ description: 'The main user identifier to be sent to Ambee',
28
+ type: 'string',
29
+ default: {
30
+ '@if': {
31
+ exists: { '@path': '$.userId' },
32
+ then: { '@path': '$.userId' },
33
+ else: { '@path': '$.anonymousId' }
34
+ }
35
+ },
36
+ required: true
37
+ },
38
+ airQualitySubscription: {
39
+ label: 'Air Quality Subscription',
40
+ description: 'Subscribe to Air quality notifications from Ambee. Please select the Air Quality (AQI) risk level you would like to receive notifications for',
41
+ type: 'string',
42
+ choices: [
43
+ { label: 'Good', value: 'good' },
44
+ { label: 'Moderate', value: 'moderate' },
45
+ { label: 'Unhealthy for sensitive group', value: 'unhealthy_sensitive_group' },
46
+ { label: 'Unhealthy', value: 'unhealthy' },
47
+ { label: 'Very unhealthy', value: 'very_unhealthy' },
48
+ { label: 'Hazardous', value: 'hazardous' }
49
+ ],
50
+ required: false
51
+ },
52
+ pollenSubscription: {
53
+ label: 'Pollen Subscription',
54
+ description: 'Subscribe to Pollen level notifications from Ambee. Please select the Pollen risk level you would like to receive notifications for',
55
+ type: 'string',
56
+ choices: [
57
+ { label: 'Low', value: 'low' },
58
+ { label: 'Moderate', value: 'moderate' },
59
+ { label: 'High', value: 'high' },
60
+ { label: 'Very high', value: 'very_high' }
61
+ ],
62
+ required: false
63
+ },
64
+ ipAddress: {
65
+ label: 'User IP Address',
66
+ description: 'Ambee uses the user’s IP address when determining who to send air quality and/or pollen notifications to.',
67
+ type: 'string',
68
+ default: { '@path': '$.context.ip' },
69
+ required: true
70
+ }
71
+ },
72
+ perform: (request, { settings, payload }) => {
73
+ const platform = payload?.platform?.toLowerCase() ?? '';
74
+ const library = payload?.segmentLibrary ?? '';
75
+ if (library != 'analytics.js' && platform != 'ios' && platform != 'android')
76
+ throw new actions_core_1.PayloadValidationError(`Payload must be sent from the Segment analytics.js library or from a Segment Mobile library`);
77
+ if (payload.segmentLibrary)
78
+ return request('https://segment-api.ambeedata.com/v1/campaign-info', {
79
+ method: 'post',
80
+ json: {
81
+ ...payload,
82
+ email: settings.email
83
+ }
84
+ });
85
+ }
86
+ };
87
+ exports.default = action;
88
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/ambee/subscribeUserToCampaign/index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { ActionDefinition } from '@segment/actions-core';
1
+ import { ActionDefinition } from '@segment/actions-core';
2
2
  import type { Settings } from '../generated-types';
3
3
  import type { Payload } from './generated-types';
4
4
  declare const action: ActionDefinition<Settings, Payload>;
@@ -37,10 +37,6 @@ const action = {
37
37
  }
38
38
  },
39
39
  perform: async (request, data) => {
40
- if (!data?.payload?.key_field)
41
- throw new actions_core_1.IntegrationError('Missing key field');
42
- if (!data?.payload?.key_value)
43
- throw new actions_core_1.IntegrationError('Missing key value');
44
40
  data.payload.contactlistid = parseInt(data.payload.contactlistid.toString().replace(/[^0-9]/g, ''));
45
41
  if (data.payload.contactlistid > 0) {
46
42
  const payload = {
@@ -59,13 +55,13 @@ const action = {
59
55
  if (body.replyCode === 0)
60
56
  return response;
61
57
  else
62
- throw new actions_core_1.IntegrationError('Something went wrong while adding to contact list');
58
+ throw new actions_core_1.APIError(`Something went wrong while adding to contact list: ${body?.replyText ?? 'UNKNOWN'}`, 500);
63
59
  }
64
60
  catch (err) {
65
- throw new actions_core_1.IntegrationError('Invalid JSON response');
61
+ throw new actions_core_1.APIError('Invalid JSON response', 400);
66
62
  }
67
63
  case 400:
68
- throw new actions_core_1.IntegrationError('The contact could not be removed from the contact list');
64
+ throw new actions_core_1.APIError('The contact could not be removed from the contact list', 400);
69
65
  case 429:
70
66
  throw new actions_core_1.RetryableError('Rate limit reached.');
71
67
  default:
@@ -73,7 +69,7 @@ const action = {
73
69
  }
74
70
  }
75
71
  else {
76
- throw new actions_core_1.IntegrationError('ContactlistId must be >0');
72
+ throw new actions_core_1.PayloadValidationError('ContactlistId must be >0');
77
73
  }
78
74
  },
79
75
  performBatch: async (request, data) => {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/emarsys/addToContactList/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/emarsys/addToContactList/index.ts"],"names":[],"mappings":";;AAAA,wDAA0G;AAG1G,sDAO0B;AAE1B,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,qBAAqB;IAC5B,WAAW,EAAE,iFAAiF;IAC9F,MAAM,EAAE;QACN,aAAa,EAAE;YACb,KAAK,EAAE,wBAAwB;YAC/B,WAAW,EAAE,2BAA2B;YACxC,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,IAAI;SACd;QACD,SAAS,EAAE;YACT,KAAK,EAAE,WAAW;YAClB,WAAW,EAAE,sCAAsC;YACnD,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,IAAI;SACd;QACD,SAAS,EAAE;YACT,KAAK,EAAE,WAAW;YAClB,WAAW,EAAE,4EAA4E;YACzF,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,KAAK;SACf;KACF;IACD,aAAa,EAAE;QACb,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YAC/B,OAAO,gCAAe,CAAC,OAAO,CAAC,CAAA;QACjC,CAAC;QACD,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YAC3B,OAAO,0BAAS,CAAC,OAAO,CAAC,CAAA;QAC3B,CAAC;KACF;IACD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QAC/B,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAA;QAEnG,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,CAAC,EAAE;YAClC,MAAM,OAAO,GAA0B;gBACrC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS;gBAC9B,YAAY,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;aACvC,CAAA;YACD,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,yBAAQ,eAAe,IAAI,CAAC,OAAO,CAAC,aAAa,MAAM,EAAE;gBACzF,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,OAAO;gBACb,eAAe,EAAE,KAAK;aACvB,CAAC,CAAA;YAEF,QAAQ,QAAQ,EAAE,MAAM,EAAE;gBACxB,KAAK,GAAG;oBACN,IAAI;wBACF,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;wBAClC,IAAI,IAAI,CAAC,SAAS,KAAK,CAAC;4BAAE,OAAO,QAAQ,CAAA;;4BAEvC,MAAM,IAAI,uBAAQ,CAChB,sDAAsD,IAAI,EAAE,SAAS,IAAI,SAAS,EAAE,EACpF,GAAG,CACJ,CAAA;qBACJ;oBAAC,OAAO,GAAG,EAAE;wBACZ,MAAM,IAAI,uBAAQ,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAA;qBACjD;gBACH,KAAK,GAAG;oBACN,MAAM,IAAI,uBAAQ,CAAC,wDAAwD,EAAE,GAAG,CAAC,CAAA;gBACnF,KAAK,GAAG;oBACN,MAAM,IAAI,6BAAc,CAAC,qBAAqB,CAAC,CAAA;gBACjD;oBACE,MAAM,IAAI,6BAAc,CAAC,iCAAiC,CAAC,CAAA;aAC9D;SACF;aAAM;YACL,MAAM,IAAI,qCAAsB,CAAC,0BAA0B,CAAC,CAAA;SAC7D;IACH,CAAC;IACD,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QACpC,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;YACvD,MAAM,OAAO,GAA2B,EAAE,CAAA;YAC1C,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,OAAgB,EAAE,EAAE;gBACxC,IAAI,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC,EAAE;oBAC7D,OAAO,CAAC,GAAG,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC,GAAG;wBACzD,aAAa,EAAE,OAAO,CAAC,aAAa;wBACpC,MAAM,EAAE,OAAO,CAAC,SAAS;wBACzB,YAAY,EAAE,EAAE;qBACjB,CAAA;iBACF;gBACD,IAAI,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS,IAAI,EAAE,EAAE;oBAChD,OAAO,CAAC,GAAG,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;iBAC9F;YACH,CAAC,CAAC,CAAA;YAEF,MAAM,QAAQ,GAAG,EAAE,CAAA;YACnB,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE;gBACzB,MAAM,KAAK,GAA+B,OAAO,CAAC,GAAG,CAAC,CAAA;gBACtD,MAAM,OAAO,GAA0B;oBACrC,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,YAAY,EAAE,KAAK,CAAC,YAAY;iBACjC,CAAA;gBACD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,yBAAQ,eAAe,KAAK,CAAC,aAAa,MAAM,EAAE;oBAC5E,MAAM,EAAE,MAAM;oBACd,IAAI,EAAE,OAAO;oBACb,eAAe,EAAE,IAAI;iBACtB,CAAC,CAAA;gBACF,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;aACxB;YACD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;gBACvB,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;aAC7B;SACF;QACD,OAAO,CAAC,CAAA;IACV,CAAC;CACF,CAAA;AAED,kBAAe,MAAM,CAAA"}
@@ -1,15 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getContactLists = exports.getFields = exports.getEvents = exports.createWsseHeader = exports.API_BASE = exports.API_PATH = exports.API_HOST = void 0;
4
- const actions_core_1 = require("@segment/actions-core");
5
4
  const crypto_1 = require("crypto");
6
5
  exports.API_HOST = 'https://api.emarsys.net';
7
6
  exports.API_PATH = '/api/v2/';
8
7
  exports.API_BASE = `${exports.API_HOST}${exports.API_PATH}`;
9
8
  const createWsseHeader = (settings) => {
10
- if (!settings.api_user || !settings.api_password) {
11
- throw new actions_core_1.IntegrationError('Username and password must be specified.');
12
- }
13
9
  const nonce = crypto_1.randomBytes(16).toString('hex');
14
10
  const hash = crypto_1.createHash('sha1');
15
11
  const ts = new Date().toISOString();
@@ -1 +1 @@
1
- {"version":3,"file":"emarsys-helper.js","sourceRoot":"","sources":["../../../src/destinations/emarsys/emarsys-helper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"emarsys-helper.js","sourceRoot":"","sources":["../../../src/destinations/emarsys/emarsys-helper.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { ActionDefinition } from '@segment/actions-core';
1
+ import { ActionDefinition } from '@segment/actions-core';
2
2
  import type { Settings } from '../generated-types';
3
3
  import type { Payload } from './generated-types';
4
4
  declare const action: ActionDefinition<Settings, Payload>;
@@ -37,10 +37,6 @@ const action = {
37
37
  }
38
38
  },
39
39
  perform: async (request, data) => {
40
- if (!data?.payload?.key_field)
41
- throw new actions_core_1.IntegrationError('Missing key field');
42
- if (!data?.payload?.key_value)
43
- throw new actions_core_1.IntegrationError('Missing key value');
44
40
  data.payload.contactlistid = parseInt(data.payload.contactlistid.toString().replace(/[^0-9]/g, ''));
45
41
  if (data.payload.contactlistid > 0) {
46
42
  const payload = {
@@ -60,13 +56,13 @@ const action = {
60
56
  if (body.replyCode === 0)
61
57
  return response;
62
58
  else
63
- throw new actions_core_1.IntegrationError('Something went wrong while removing from contact list');
59
+ throw new actions_core_1.APIError(`Something went wrong while removing from contact list: ${body?.replyText ?? 'UNKNOWN'}`, 500);
64
60
  }
65
61
  catch (err) {
66
- throw new actions_core_1.IntegrationError('Invalid JSON response');
62
+ throw new actions_core_1.APIError('Invalid JSON response', 400);
67
63
  }
68
64
  case 400:
69
- throw new actions_core_1.IntegrationError('The contact could not be removed from the contact list');
65
+ throw new actions_core_1.APIError('The contact could not be removed from the contact list', 400);
70
66
  case 429:
71
67
  throw new actions_core_1.RetryableError('Rate limit reached.');
72
68
  default:
@@ -74,7 +70,7 @@ const action = {
74
70
  }
75
71
  }
76
72
  else {
77
- throw new actions_core_1.IntegrationError('ContactlistId must be >0');
73
+ throw new actions_core_1.PayloadValidationError('ContactlistId must be >0');
78
74
  }
79
75
  },
80
76
  performBatch: async (request, data) => {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/emarsys/removeFromContactList/index.ts"],"names":[],"mappings":";;AAAA,wDAAwE;AAIxE,sDAO0B;AAE1B,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,0BAA0B;IACjC,WAAW,EAAE,uCAAuC;IACpD,MAAM,EAAE;QACN,aAAa,EAAE;YACb,KAAK,EAAE,wBAAwB;YAC/B,WAAW,EAAE,2BAA2B;YACxC,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,IAAI;SACd;QACD,SAAS,EAAE;YACT,KAAK,EAAE,WAAW;YAClB,WAAW,EAAE,sCAAsC;YACnD,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,IAAI;SACd;QACD,SAAS,EAAE;YACT,KAAK,EAAE,WAAW;YAClB,WAAW,EAAE,4EAA4E;YACzF,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,KAAK;SACf;KACF;IACD,aAAa,EAAE;QACb,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YAC/B,OAAO,gCAAe,CAAC,OAAO,CAAC,CAAA;QACjC,CAAC;QACD,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YAC3B,OAAO,0BAAS,CAAC,OAAO,CAAC,CAAA;QAC3B,CAAC;KACF;IACD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QAC/B,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS;YAAE,MAAM,IAAI,+BAAgB,CAAC,mBAAmB,CAAC,CAAA;QAE9E,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS;YAAE,MAAM,IAAI,+BAAgB,CAAC,mBAAmB,CAAC,CAAA;QAE9E,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAA;QAEnG,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,CAAC,EAAE;YAClC,MAAM,OAAO,GAA0B;gBACrC,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa;gBACzC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS;gBAC9B,YAAY,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;aACvC,CAAA;YAED,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,yBAAQ,eAAe,IAAI,CAAC,OAAO,CAAC,aAAa,SAAS,EAAE;gBAC5F,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,OAAO;gBACb,eAAe,EAAE,KAAK;aACvB,CAAC,CAAA;YAEF,QAAQ,QAAQ,EAAE,MAAM,EAAE;gBACxB,KAAK,GAAG;oBACN,IAAI;wBACF,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;wBAClC,IAAI,IAAI,CAAC,SAAS,KAAK,CAAC;4BAAE,OAAO,QAAQ,CAAA;;4BACpC,MAAM,IAAI,+BAAgB,CAAC,uDAAuD,CAAC,CAAA;qBACzF;oBAAC,OAAO,GAAG,EAAE;wBACZ,MAAM,IAAI,+BAAgB,CAAC,uBAAuB,CAAC,CAAA;qBACpD;gBACH,KAAK,GAAG;oBACN,MAAM,IAAI,+BAAgB,CAAC,wDAAwD,CAAC,CAAA;gBACtF,KAAK,GAAG;oBACN,MAAM,IAAI,6BAAc,CAAC,qBAAqB,CAAC,CAAA;gBACjD;oBACE,MAAM,IAAI,6BAAc,CAAC,iCAAiC,CAAC,CAAA;aAC9D;SACF;aAAM;YACL,MAAM,IAAI,+BAAgB,CAAC,0BAA0B,CAAC,CAAA;SACvD;IACH,CAAC;IACD,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QACpC,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;YACvD,MAAM,OAAO,GAA2B,EAAE,CAAA;YAC1C,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,OAAgB,EAAE,EAAE;gBACxC,IAAI,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC,EAAE;oBAC7D,OAAO,CAAC,GAAG,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC,GAAG;wBACzD,aAAa,EAAE,OAAO,CAAC,aAAa;wBACpC,MAAM,EAAE,OAAO,CAAC,SAAS;wBACzB,YAAY,EAAE,EAAE;qBACjB,CAAA;iBACF;gBACD,OAAO,CAAC,GAAG,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;YAC/F,CAAC,CAAC,CAAA;YAEF,MAAM,QAAQ,GAAG,EAAE,CAAA;YACnB,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE;gBACzB,MAAM,KAAK,GAA+B,OAAO,CAAC,GAAG,CAAC,CAAA;gBACtD,MAAM,OAAO,GAA0B;oBACrC,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,YAAY,EAAE,KAAK,CAAC,YAAY;iBACjC,CAAA;gBACD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,yBAAQ,eAAe,KAAK,CAAC,aAAa,SAAS,EAAE;oBAC/E,MAAM,EAAE,MAAM;oBACd,IAAI,EAAE,OAAO;oBACb,eAAe,EAAE,KAAK;iBACvB,CAAC,CAAA;gBACF,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;aACxB;YACD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;gBACvB,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;aAC7B;SACF;QACD,OAAO,CAAC,CAAA;IACV,CAAC;CACF,CAAA;AAED,kBAAe,MAAM,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/emarsys/removeFromContactList/index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { ActionDefinition } from '@segment/actions-core';
1
+ import { ActionDefinition } from '@segment/actions-core';
2
2
  import type { Settings } from '../generated-types';
3
3
  import type { Payload } from './generated-types';
4
4
  declare const action: ActionDefinition<Settings, Payload>;
@@ -1,8 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const emarsys_helper_1 = require("../emarsys-helper");
4
3
  const actions_core_1 = require("@segment/actions-core");
5
- const actions_core_2 = require("@segment/actions-core");
4
+ const emarsys_helper_1 = require("../emarsys-helper");
6
5
  const action = {
7
6
  title: 'Trigger Event',
8
7
  description: 'Trigger an external event on the Emarsys platform to launch automation programs. Note: You can only pass objects to event_payload (no literals, no arrays).',
@@ -46,10 +45,6 @@ const action = {
46
45
  }
47
46
  },
48
47
  perform: async (request, data) => {
49
- if (!data?.payload?.key_field)
50
- throw new actions_core_1.IntegrationError('Missing key field');
51
- if (!data?.payload?.key_value)
52
- throw new actions_core_1.IntegrationError('Missing key value');
53
48
  data.payload.eventid = parseInt(data.payload.eventid.toString().replace(/[^0-9]/g, ''));
54
49
  if (data.payload.eventid > 0) {
55
50
  const payload = {
@@ -69,21 +64,21 @@ const action = {
69
64
  if (body.replyCode === 0)
70
65
  return response;
71
66
  else
72
- throw new actions_core_1.IntegrationError('Something went wrong while triggering the event');
67
+ throw new actions_core_1.APIError(`Something went wrong while triggering the event: ${body?.replyText ?? 'UNKNOWN'}`, 500);
73
68
  }
74
69
  catch (err) {
75
- throw new actions_core_1.IntegrationError('Invalid JSON response');
70
+ throw new actions_core_1.APIError('Invalid JSON response', 400);
76
71
  }
77
72
  case 400:
78
- throw new actions_core_1.IntegrationError('The event could not be triggered');
73
+ throw new actions_core_1.APIError('The event could not be triggered', 400);
79
74
  case 429:
80
- throw new actions_core_2.RetryableError('Rate limit reached.');
75
+ throw new actions_core_1.RetryableError('Rate limit reached.');
81
76
  default:
82
- throw new actions_core_2.RetryableError('There seems to be an API issue.');
77
+ throw new actions_core_1.RetryableError('There seems to be an API issue.');
83
78
  }
84
79
  }
85
80
  else {
86
- throw new actions_core_1.IntegrationError('eventid must be >0');
81
+ throw new actions_core_1.PayloadValidationError('eventid must be >0');
87
82
  }
88
83
  },
89
84
  performBatch: async (request, data) => {