@segment/action-destinations 3.476.0 → 3.478.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 (218) hide show
  1. package/dist/destinations/amazon-amc/function.js +2 -1
  2. package/dist/destinations/amazon-amc/function.js.map +1 -1
  3. package/dist/destinations/amazon-amc/index.js +2 -1
  4. package/dist/destinations/amazon-amc/index.js.map +1 -1
  5. package/dist/destinations/amazon-amc/versioning-info.d.ts +2 -0
  6. package/dist/destinations/amazon-amc/versioning-info.js +6 -0
  7. package/dist/destinations/amazon-amc/versioning-info.js.map +1 -0
  8. package/dist/destinations/avo-v2/constants.d.ts +6 -0
  9. package/dist/destinations/avo-v2/constants.js +11 -0
  10. package/dist/destinations/avo-v2/constants.js.map +1 -0
  11. package/dist/destinations/avo-v2/generated-types.d.ts +6 -0
  12. package/dist/destinations/avo-v2/generated-types.js +3 -0
  13. package/dist/destinations/avo-v2/generated-types.js.map +1 -0
  14. package/dist/destinations/avo-v2/index.d.ts +4 -0
  15. package/dist/destinations/avo-v2/index.js +71 -0
  16. package/dist/destinations/avo-v2/index.js.map +1 -0
  17. package/dist/destinations/avo-v2/sendSchemaToInspector/functions/encryption-functions.d.ts +7 -0
  18. package/dist/destinations/avo-v2/sendSchemaToInspector/functions/encryption-functions.js +39 -0
  19. package/dist/destinations/avo-v2/sendSchemaToInspector/functions/encryption-functions.js.map +1 -0
  20. package/dist/destinations/avo-v2/sendSchemaToInspector/functions/event-validator-functions.d.ts +2 -0
  21. package/dist/destinations/avo-v2/sendSchemaToInspector/functions/event-validator-functions.js +383 -0
  22. package/dist/destinations/avo-v2/sendSchemaToInspector/functions/event-validator-functions.js.map +1 -0
  23. package/dist/destinations/avo-v2/sendSchemaToInspector/functions/functions.d.ts +6 -0
  24. package/dist/destinations/avo-v2/sendSchemaToInspector/functions/functions.js +200 -0
  25. package/dist/destinations/avo-v2/sendSchemaToInspector/functions/functions.js.map +1 -0
  26. package/dist/destinations/avo-v2/sendSchemaToInspector/functions/schema-functions.d.ts +5 -0
  27. package/dist/destinations/avo-v2/sendSchemaToInspector/functions/schema-functions.js +112 -0
  28. package/dist/destinations/avo-v2/sendSchemaToInspector/functions/schema-functions.js.map +1 -0
  29. package/dist/destinations/avo-v2/sendSchemaToInspector/generated-types.d.ts +15 -0
  30. package/dist/destinations/avo-v2/sendSchemaToInspector/generated-types.js +3 -0
  31. package/dist/destinations/avo-v2/sendSchemaToInspector/generated-types.js.map +1 -0
  32. package/dist/destinations/avo-v2/sendSchemaToInspector/index.d.ts +5 -0
  33. package/dist/destinations/avo-v2/sendSchemaToInspector/index.js +117 -0
  34. package/dist/destinations/avo-v2/sendSchemaToInspector/index.js.map +1 -0
  35. package/dist/destinations/avo-v2/sendSchemaToInspector/types.d.ts +82 -0
  36. package/dist/destinations/avo-v2/sendSchemaToInspector/types.js +3 -0
  37. package/dist/destinations/avo-v2/sendSchemaToInspector/types.js.map +1 -0
  38. package/dist/destinations/customerio/createUpdatePerson/generated-types.d.ts +1 -0
  39. package/dist/destinations/customerio/createUpdatePerson/index.js +8 -0
  40. package/dist/destinations/customerio/createUpdatePerson/index.js.map +1 -1
  41. package/dist/destinations/display-video-360/constants.d.ts +0 -1
  42. package/dist/destinations/display-video-360/constants.js +3 -3
  43. package/dist/destinations/display-video-360/constants.js.map +1 -1
  44. package/dist/destinations/display-video-360/versioning-info.d.ts +1 -0
  45. package/dist/destinations/display-video-360/versioning-info.js +5 -0
  46. package/dist/destinations/display-video-360/versioning-info.js.map +1 -0
  47. package/dist/destinations/dotdigital/addContactToList/index.js +5 -5
  48. package/dist/destinations/dotdigital/addContactToList/index.js.map +1 -1
  49. package/dist/destinations/dotdigital/enrolContact/index.js +4 -4
  50. package/dist/destinations/dotdigital/enrolContact/index.js.map +1 -1
  51. package/dist/destinations/dotdigital/removeContactFromList/index.js +4 -4
  52. package/dist/destinations/dotdigital/removeContactFromList/index.js.map +1 -1
  53. package/dist/destinations/dotdigital/sendEmailCampaign/index.js +4 -4
  54. package/dist/destinations/dotdigital/sendEmailCampaign/index.js.map +1 -1
  55. package/dist/destinations/dotdigital/sendSms/index.js +2 -2
  56. package/dist/destinations/dotdigital/sendSms/index.js.map +1 -1
  57. package/dist/destinations/dotdigital/sendTransactionalEmail/index.js +2 -2
  58. package/dist/destinations/dotdigital/sendTransactionalEmail/index.js.map +1 -1
  59. package/dist/destinations/dotdigital/sendTransactionalSms/index.js +3 -4
  60. package/dist/destinations/dotdigital/sendTransactionalSms/index.js.map +1 -1
  61. package/dist/destinations/dotdigital-audiences/generated-types.d.ts +2 -1
  62. package/dist/destinations/dotdigital-audiences/index.js +82 -10
  63. package/dist/destinations/dotdigital-audiences/index.js.map +1 -1
  64. package/dist/destinations/dotdigital-audiences/syncAudience/functions.d.ts +4 -0
  65. package/dist/destinations/dotdigital-audiences/syncAudience/functions.js +52 -0
  66. package/dist/destinations/dotdigital-audiences/syncAudience/functions.js.map +1 -0
  67. package/dist/destinations/dotdigital-audiences/syncAudience/generated-types.d.ts +0 -1
  68. package/dist/destinations/dotdigital-audiences/syncAudience/index.js +39 -13
  69. package/dist/destinations/dotdigital-audiences/syncAudience/index.js.map +1 -1
  70. package/dist/destinations/dotdigital-audiences/syncAudience/types.d.ts +38 -0
  71. package/dist/destinations/dotdigital-audiences/syncAudience/types.js +3 -0
  72. package/dist/destinations/dotdigital-audiences/syncAudience/types.js.map +1 -0
  73. package/dist/destinations/dotdigital-audiences/types.d.ts +16 -0
  74. package/dist/destinations/dotdigital-audiences/types.js +3 -0
  75. package/dist/destinations/dotdigital-audiences/types.js.map +1 -0
  76. package/dist/destinations/index.js +2 -0
  77. package/dist/destinations/index.js.map +1 -1
  78. package/dist/destinations/klime/index.d.ts +1 -1
  79. package/dist/destinations/klime/index.js +25 -1
  80. package/dist/destinations/klime/index.js.map +1 -1
  81. package/dist/destinations/launchdarkly-audiences/index.js +2 -2
  82. package/dist/destinations/linkedin-conversions/constants.js +2 -1
  83. package/dist/destinations/linkedin-conversions/constants.js.map +1 -1
  84. package/dist/destinations/linkedin-conversions/versioning-info.d.ts +1 -0
  85. package/dist/destinations/linkedin-conversions/versioning-info.js +5 -0
  86. package/dist/destinations/linkedin-conversions/versioning-info.js.map +1 -0
  87. package/dist/destinations/liveramp-audiences/awsClient.js +6 -1
  88. package/dist/destinations/liveramp-audiences/awsClient.js.map +1 -1
  89. package/dist/destinations/marketo-static-lists/constants.d.ts +4 -6
  90. package/dist/destinations/marketo-static-lists/functions.d.ts +1 -1
  91. package/dist/destinations/marketo-static-lists/functions.js +38 -12
  92. package/dist/destinations/marketo-static-lists/functions.js.map +1 -1
  93. package/dist/destinations/memora-internal/upsertProfile.types.d.ts +1 -1
  94. package/dist/destinations/pendo-audiences/constants.d.ts +23 -0
  95. package/dist/destinations/pendo-audiences/constants.js +27 -0
  96. package/dist/destinations/pendo-audiences/constants.js.map +1 -0
  97. package/dist/destinations/pendo-audiences/functions.d.ts +5 -0
  98. package/dist/destinations/pendo-audiences/functions.js +35 -0
  99. package/dist/destinations/pendo-audiences/functions.js.map +1 -0
  100. package/dist/destinations/pendo-audiences/generated-types.d.ts +7 -0
  101. package/dist/destinations/pendo-audiences/generated-types.js +3 -0
  102. package/dist/destinations/pendo-audiences/generated-types.js.map +1 -0
  103. package/dist/destinations/pendo-audiences/index.d.ts +4 -0
  104. package/dist/destinations/pendo-audiences/index.js +114 -0
  105. package/dist/destinations/pendo-audiences/index.js.map +1 -0
  106. package/dist/destinations/pendo-audiences/syncAudience/fields.d.ts +2 -0
  107. package/dist/destinations/pendo-audiences/syncAudience/fields.js +65 -0
  108. package/dist/destinations/pendo-audiences/syncAudience/fields.js.map +1 -0
  109. package/dist/destinations/pendo-audiences/syncAudience/functions.d.ts +3 -0
  110. package/dist/destinations/pendo-audiences/syncAudience/functions.js +108 -0
  111. package/dist/destinations/pendo-audiences/syncAudience/functions.js.map +1 -0
  112. package/dist/destinations/pendo-audiences/syncAudience/generated-types.d.ts +10 -0
  113. package/dist/destinations/pendo-audiences/syncAudience/generated-types.js +3 -0
  114. package/dist/destinations/pendo-audiences/syncAudience/generated-types.js.map +1 -0
  115. package/dist/destinations/pendo-audiences/syncAudience/index.d.ts +5 -0
  116. package/dist/destinations/pendo-audiences/syncAudience/index.js +18 -0
  117. package/dist/destinations/pendo-audiences/syncAudience/index.js.map +1 -0
  118. package/dist/destinations/pendo-audiences/syncAudience/types.d.ts +18 -0
  119. package/dist/destinations/pendo-audiences/syncAudience/types.js +3 -0
  120. package/dist/destinations/pendo-audiences/syncAudience/types.js.map +1 -0
  121. package/dist/destinations/pendo-audiences/types.d.ts +12 -0
  122. package/dist/destinations/pendo-audiences/types.js +3 -0
  123. package/dist/destinations/pendo-audiences/types.js.map +1 -0
  124. package/dist/destinations/reddit-audiences/index.js +2 -1
  125. package/dist/destinations/reddit-audiences/index.js.map +1 -1
  126. package/dist/destinations/reddit-audiences/syncAudience/functions.js +2 -1
  127. package/dist/destinations/reddit-audiences/syncAudience/functions.js.map +1 -1
  128. package/dist/destinations/reddit-audiences/versioning-info.d.ts +2 -0
  129. package/dist/destinations/reddit-audiences/versioning-info.js +6 -0
  130. package/dist/destinations/reddit-audiences/versioning-info.js.map +1 -0
  131. package/dist/destinations/salesforce-marketing-cloud/sfmc-properties.js +2 -2
  132. package/dist/destinations/salesforce-marketing-cloud/sfmc-properties.js.map +1 -1
  133. package/dist/destinations/the-trade-desk-crm/awsClient.d.ts +6 -1
  134. package/dist/destinations/the-trade-desk-crm/awsClient.js +8 -2
  135. package/dist/destinations/the-trade-desk-crm/awsClient.js.map +1 -1
  136. package/dist/destinations/the-trade-desk-crm/functions.d.ts +16 -1
  137. package/dist/destinations/the-trade-desk-crm/functions.js +9 -4
  138. package/dist/destinations/the-trade-desk-crm/functions.js.map +1 -1
  139. package/dist/destinations/the-trade-desk-crm/index.d.ts +0 -1
  140. package/dist/destinations/the-trade-desk-crm/index.js +3 -3
  141. package/dist/destinations/the-trade-desk-crm/index.js.map +1 -1
  142. package/dist/destinations/the-trade-desk-crm/syncAudience/index.js +8 -6
  143. package/dist/destinations/the-trade-desk-crm/syncAudience/index.js.map +1 -1
  144. package/dist/destinations/the-trade-desk-crm/versioning-info.d.ts +1 -0
  145. package/dist/destinations/the-trade-desk-crm/versioning-info.js +5 -0
  146. package/dist/destinations/the-trade-desk-crm/versioning-info.js.map +1 -0
  147. package/dist/destinations/vibe-audience/functions.js +5 -3
  148. package/dist/destinations/vibe-audience/functions.js.map +1 -1
  149. package/dist/destinations/vibe-audience/index.js +5 -2
  150. package/dist/destinations/vibe-audience/index.js.map +1 -1
  151. package/dist/destinations/vibe-audience/sync/generated-types.d.ts +1 -0
  152. package/dist/destinations/vibe-audience/sync/index.js +6 -0
  153. package/dist/destinations/vibe-audience/sync/index.js.map +1 -1
  154. package/dist/destinations/vibe-audience/types.d.ts +2 -0
  155. package/dist/destinations/youappi-audiences/constants.d.ts +1 -0
  156. package/dist/destinations/youappi-audiences/constants.js +5 -0
  157. package/dist/destinations/youappi-audiences/constants.js.map +1 -0
  158. package/dist/destinations/youappi-audiences/generated-types.d.ts +3 -0
  159. package/dist/destinations/youappi-audiences/generated-types.js +3 -0
  160. package/dist/destinations/youappi-audiences/generated-types.js.map +1 -0
  161. package/dist/destinations/youappi-audiences/index.d.ts +4 -0
  162. package/dist/destinations/youappi-audiences/index.js +45 -0
  163. package/dist/destinations/youappi-audiences/index.js.map +1 -0
  164. package/dist/destinations/youappi-audiences/sync/functions.d.ts +7 -0
  165. package/dist/destinations/youappi-audiences/sync/functions.js +105 -0
  166. package/dist/destinations/youappi-audiences/sync/functions.js.map +1 -0
  167. package/dist/destinations/youappi-audiences/sync/generated-types.d.ts +12 -0
  168. package/dist/destinations/youappi-audiences/sync/generated-types.js +3 -0
  169. package/dist/destinations/youappi-audiences/sync/generated-types.js.map +1 -0
  170. package/dist/destinations/youappi-audiences/sync/index.d.ts +5 -0
  171. package/dist/destinations/youappi-audiences/sync/index.js +101 -0
  172. package/dist/destinations/youappi-audiences/sync/index.js.map +1 -0
  173. package/dist/destinations/youappi-audiences/sync/types.d.ts +14 -0
  174. package/dist/destinations/youappi-audiences/sync/types.js +3 -0
  175. package/dist/destinations/youappi-audiences/sync/types.js.map +1 -0
  176. package/package.json +3 -3
  177. package/dist/destinations/dotdigital/api/dd-api.d.ts +0 -12
  178. package/dist/destinations/dotdigital/api/dd-api.js +0 -38
  179. package/dist/destinations/dotdigital/api/dd-api.js.map +0 -1
  180. package/dist/destinations/dotdigital/api/index.d.ts +0 -8
  181. package/dist/destinations/dotdigital/api/index.js +0 -23
  182. package/dist/destinations/dotdigital/api/index.js.map +0 -1
  183. package/dist/destinations/dotdigital/api/resources/dd-campaign-api.d.ts +0 -10
  184. package/dist/destinations/dotdigital/api/resources/dd-campaign-api.js +0 -52
  185. package/dist/destinations/dotdigital/api/resources/dd-campaign-api.js.map +0 -1
  186. package/dist/destinations/dotdigital/api/resources/dd-contact-api.d.ts +0 -12
  187. package/dist/destinations/dotdigital/api/resources/dd-contact-api.js +0 -50
  188. package/dist/destinations/dotdigital/api/resources/dd-contact-api.js.map +0 -1
  189. package/dist/destinations/dotdigital/api/resources/dd-cpaas-api.d.ts +0 -9
  190. package/dist/destinations/dotdigital/api/resources/dd-cpaas-api.js +0 -17
  191. package/dist/destinations/dotdigital/api/resources/dd-cpaas-api.js.map +0 -1
  192. package/dist/destinations/dotdigital/api/resources/dd-datafields-api.d.ts +0 -15
  193. package/dist/destinations/dotdigital/api/resources/dd-datafields-api.js +0 -98
  194. package/dist/destinations/dotdigital/api/resources/dd-datafields-api.js.map +0 -1
  195. package/dist/destinations/dotdigital/api/resources/dd-email-api.d.ts +0 -9
  196. package/dist/destinations/dotdigital/api/resources/dd-email-api.js +0 -29
  197. package/dist/destinations/dotdigital/api/resources/dd-email-api.js.map +0 -1
  198. package/dist/destinations/dotdigital/api/resources/dd-enrolment-api.d.ts +0 -10
  199. package/dist/destinations/dotdigital/api/resources/dd-enrolment-api.js +0 -33
  200. package/dist/destinations/dotdigital/api/resources/dd-enrolment-api.js.map +0 -1
  201. package/dist/destinations/dotdigital/api/resources/dd-lists-api.d.ts +0 -11
  202. package/dist/destinations/dotdigital/api/resources/dd-lists-api.js +0 -41
  203. package/dist/destinations/dotdigital/api/resources/dd-lists-api.js.map +0 -1
  204. package/dist/destinations/dotdigital/api/resources/dd-sms-api.d.ts +0 -8
  205. package/dist/destinations/dotdigital/api/resources/dd-sms-api.js +0 -21
  206. package/dist/destinations/dotdigital/api/resources/dd-sms-api.js.map +0 -1
  207. package/dist/destinations/dotdigital/api/types.d.ts +0 -117
  208. package/dist/destinations/dotdigital/api/types.js +0 -10
  209. package/dist/destinations/dotdigital/api/types.js.map +0 -1
  210. package/dist/destinations/dotdigital/helpers/functions/checkAndCleanEmail.d.ts +0 -3
  211. package/dist/destinations/dotdigital/helpers/functions/checkAndCleanEmail.js +0 -23
  212. package/dist/destinations/dotdigital/helpers/functions/checkAndCleanEmail.js.map +0 -1
  213. package/dist/destinations/dotdigital/helpers/functions/checkAndCleanMobileNumber.d.ts +0 -2
  214. package/dist/destinations/dotdigital/helpers/functions/checkAndCleanMobileNumber.js +0 -16
  215. package/dist/destinations/dotdigital/helpers/functions/checkAndCleanMobileNumber.js.map +0 -1
  216. package/dist/destinations/dotdigital/helpers/functions/index.d.ts +0 -2
  217. package/dist/destinations/dotdigital/helpers/functions/index.js +0 -12
  218. package/dist/destinations/dotdigital/helpers/functions/index.js.map +0 -1
@@ -1,52 +0,0 @@
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 dd_api_1 = __importDefault(require("../dd-api"));
7
- class DDCampaignApi extends dd_api_1.default {
8
- constructor(settings, client) {
9
- super(settings, client);
10
- }
11
- async getCampaignsPaging(select = 1000, skip = 0) {
12
- return await this.get('/v2/campaigns', { select, skip });
13
- }
14
- async getCampaigns() {
15
- const choices = [];
16
- const select = 200;
17
- let skip = 0;
18
- let hasMoreData = true;
19
- while (hasMoreData) {
20
- const response = await this.getCampaignsPaging(select, skip);
21
- const content = JSON.parse(response.content);
22
- if (content.length === 0) {
23
- hasMoreData = false;
24
- break;
25
- }
26
- else {
27
- choices.push(...content.map((campaign) => ({
28
- value: campaign.id.toString(),
29
- label: campaign.name
30
- })));
31
- skip += select;
32
- }
33
- }
34
- return { choices: choices };
35
- }
36
- async sendCampaign(campaignId, contactId, sendDate, sendTimeOptimised) {
37
- const sendCampaignPayload = {
38
- campaignID: campaignId,
39
- contactIDs: [contactId],
40
- sendDate: sendDate
41
- };
42
- let endpoint = `/v2/campaigns/send`;
43
- if (sendTimeOptimised) {
44
- endpoint = `/v2/campaigns/send-time-optimised`;
45
- delete sendCampaignPayload.sendDate;
46
- }
47
- const response = await this.post(endpoint, sendCampaignPayload);
48
- return response;
49
- }
50
- }
51
- exports.default = DDCampaignApi;
52
- //# sourceMappingURL=dd-campaign-api.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dd-campaign-api.js","sourceRoot":"","sources":["../../../../../src/destinations/dotdigital/api/resources/dd-campaign-api.ts"],"names":[],"mappings":";;;;;AAEA,uDAA6B;AAO7B,MAAM,aAAc,SAAQ,gBAAK;IAC/B,YAAY,QAAkB,EAAE,MAAqB;QACnD,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;IACzB,CAAC;IAQD,KAAK,CAAC,kBAAkB,CAAC,MAAM,GAAG,IAAI,EAAE,IAAI,GAAG,CAAC;QAC9C,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;IAC1D,CAAC;IAOD,KAAK,CAAC,YAAY;QAChB,MAAM,OAAO,GAAG,EAAE,CAAA;QAClB,MAAM,MAAM,GAAG,GAAG,CAAA;QAClB,IAAI,IAAI,GAAG,CAAC,CAAA;QAEZ,IAAI,WAAW,GAAG,IAAI,CAAA;QACtB,OAAO,WAAW,EAAE,CAAC;YACnB,MAAM,QAAQ,GAAqB,MAAM,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;YAC9E,MAAM,OAAO,GAAe,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;YACxD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,WAAW,GAAG,KAAK,CAAA;gBACnB,MAAK;YACP,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,IAAI,CACV,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,QAAkB,EAAE,EAAE,CAAC,CAAC;oBACtC,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE;oBAC7B,KAAK,EAAE,QAAQ,CAAC,IAAI;iBACrB,CAAC,CAAC,CACJ,CAAA;gBACD,IAAI,IAAI,MAAM,CAAA;YAChB,CAAC;QACH,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAA;IAC7B,CAAC;IAUM,KAAK,CAAC,YAAY,CACvB,UAAkB,EAClB,SAAiB,EACjB,QAAsC,EACtC,iBAA2B;QAE3B,MAAM,mBAAmB,GAAwB;YAC/C,UAAU,EAAE,UAAU;YACtB,UAAU,EAAE,CAAC,SAAS,CAAC;YACvB,QAAQ,EAAE,QAAQ;SACnB,CAAA;QACD,IAAI,QAAQ,GAAG,oBAAoB,CAAA;QAEnC,IAAI,iBAAiB,EAAE,CAAC;YACtB,QAAQ,GAAG,mCAAmC,CAAA;YAC9C,OAAO,mBAAmB,CAAC,QAAQ,CAAA;QACrC,CAAC;QAED,MAAM,QAAQ,GAAqB,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,mBAAmB,CAAC,CAAA;QACjF,OAAO,QAAQ,CAAA;IACjB,CAAC;CACF;AAED,kBAAe,aAAa,CAAA"}
@@ -1,12 +0,0 @@
1
- import { RequestClient } from '@segment/actions-core';
2
- import type { Settings } from '../../generated-types';
3
- import DDApi from '../dd-api';
4
- import { Contact, ChannelIdentifier } from '../types';
5
- import type { Payload } from '../../addContactToList/generated-types';
6
- declare class DDContactApi extends DDApi {
7
- constructor(settings: Settings, client: RequestClient);
8
- getContact(idType: string, idValue: string | undefined): Promise<Contact>;
9
- fetchOrCreateContact<T>(channelIdentifier: ChannelIdentifier, data: T): Promise<Contact>;
10
- upsertContact(payload: Payload): Promise<Contact>;
11
- }
12
- export default DDContactApi;
@@ -1,50 +0,0 @@
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 dd_api_1 = __importDefault(require("../dd-api"));
7
- class DDContactApi extends dd_api_1.default {
8
- constructor(settings, client) {
9
- super(settings, client);
10
- }
11
- async getContact(idType, idValue) {
12
- const response = await this.get(`/contacts/v3/${idType}/${idValue}`);
13
- return response.data;
14
- }
15
- async fetchOrCreateContact(channelIdentifier, data) {
16
- const [[idType, idValue]] = Object.entries(channelIdentifier);
17
- const response = await this.patch(`/contacts/v3/${idType}/${idValue}`, data);
18
- return response.data;
19
- }
20
- async upsertContact(payload) {
21
- const { channelIdentifier, emailIdentifier, mobileNumberIdentifier, listId, dataFields } = payload;
22
- const idValue = channelIdentifier === 'email' ? emailIdentifier : mobileNumberIdentifier;
23
- const identifiers = {
24
- ...(emailIdentifier && { email: emailIdentifier }),
25
- ...(mobileNumberIdentifier && { mobileNumber: mobileNumberIdentifier })
26
- };
27
- const channelProperties = {
28
- ...(emailIdentifier && {
29
- email: {
30
- status: 'subscribed',
31
- emailType: 'html',
32
- optInType: 'single'
33
- }
34
- }),
35
- ...(mobileNumberIdentifier && {
36
- sms: { status: 'subscribed' }
37
- })
38
- };
39
- const data = {
40
- identifiers,
41
- channelProperties,
42
- lists: [listId],
43
- dataFields: dataFields
44
- };
45
- const response = await this.patch(`/contacts/v3/${channelIdentifier}/${idValue}?merge-option=overwrite`, data);
46
- return response.data;
47
- }
48
- }
49
- exports.default = DDContactApi;
50
- //# sourceMappingURL=dd-contact-api.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dd-contact-api.js","sourceRoot":"","sources":["../../../../../src/destinations/dotdigital/api/resources/dd-contact-api.ts"],"names":[],"mappings":";;;;;AAEA,uDAA6B;AAI7B,MAAM,YAAa,SAAQ,gBAAK;IAC9B,YAAY,QAAkB,EAAE,MAAqB;QACnD,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;IACzB,CAAC;IAUD,KAAK,CAAC,UAAU,CAAC,MAAc,EAAE,OAA2B;QAC1D,MAAM,QAAQ,GAA8B,MAAM,IAAI,CAAC,GAAG,CAAU,gBAAgB,MAAM,IAAI,OAAO,EAAE,CAAC,CAAA;QACxG,OAAO,QAAQ,CAAC,IAAI,CAAA;IACtB,CAAC;IAUD,KAAK,CAAC,oBAAoB,CAAI,iBAAoC,EAAE,IAAO;QACzE,MAAM,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAA;QAC7D,MAAM,QAAQ,GAA8B,MAAM,IAAI,CAAC,KAAK,CAAa,gBAAgB,MAAM,IAAI,OAAO,EAAE,EAAE,IAAI,CAAC,CAAA;QACnH,OAAO,QAAQ,CAAC,IAAI,CAAA;IACtB,CAAC;IAOM,KAAK,CAAC,aAAa,CAAC,OAAgB;QACzC,MAAM,EAAE,iBAAiB,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAA;QAElG,MAAM,OAAO,GAAG,iBAAiB,KAAK,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,sBAAsB,CAAA;QAExF,MAAM,WAAW,GAAgB;YAC/B,GAAG,CAAC,eAAe,IAAI,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC;YAClD,GAAG,CAAC,sBAAsB,IAAI,EAAE,YAAY,EAAE,sBAAsB,EAAE,CAAC;SACxE,CAAA;QAED,MAAM,iBAAiB,GAAsB;YAC3C,GAAG,CAAC,eAAe,IAAI;gBACrB,KAAK,EAAE;oBACL,MAAM,EAAE,YAAY;oBACpB,SAAS,EAAE,MAAM;oBACjB,SAAS,EAAE,QAAQ;iBACpB;aACF,CAAC;YACF,GAAG,CAAC,sBAAsB,IAAI;gBAC5B,GAAG,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE;aAC9B,CAAC;SACH,CAAA;QAED,MAAM,IAAI,GAAsB;YAC9B,WAAW;YACX,iBAAiB;YACjB,KAAK,EAAE,CAAC,MAAM,CAAC;YACf,UAAU,EAAE,UAAwB;SACrC,CAAA;QAED,MAAM,QAAQ,GAA8B,MAAM,IAAI,CAAC,KAAK,CAC1D,gBAAgB,iBAAiB,IAAI,OAAO,yBAAyB,EACrE,IAAI,CACL,CAAA;QAED,OAAO,QAAQ,CAAC,IAAI,CAAA;IACtB,CAAC;CACF;AAED,kBAAe,YAAY,CAAA"}
@@ -1,9 +0,0 @@
1
- import { RequestClient } from '@segment/actions-core';
2
- import DDApi from '../dd-api';
3
- import { CpaasMessageBody } from '../types';
4
- import type { Settings } from '../../generated-types';
5
- declare class DDCpaasApi extends DDApi {
6
- constructor(settings: Settings, client: RequestClient);
7
- sendTransactionalSms(body: CpaasMessageBody): Promise<unknown>;
8
- }
9
- export default DDCpaasApi;
@@ -1,17 +0,0 @@
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 dd_api_1 = __importDefault(require("../dd-api"));
7
- class DDCpaasApi extends dd_api_1.default {
8
- constructor(settings, client) {
9
- super(settings, client);
10
- }
11
- async sendTransactionalSms(body) {
12
- const response = await this.post(`/cpaas/messages`, body);
13
- return response.data;
14
- }
15
- }
16
- exports.default = DDCpaasApi;
17
- //# sourceMappingURL=dd-cpaas-api.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dd-cpaas-api.js","sourceRoot":"","sources":["../../../../../src/destinations/dotdigital/api/resources/dd-cpaas-api.ts"],"names":[],"mappings":";;;;;AACA,uDAA6B;AAI7B,MAAM,UAAW,SAAQ,gBAAK;IAC5B,YAAY,QAAkB,EAAE,MAAqB;QACnD,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;IACzB,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,IAAsB;QAC/C,MAAM,QAAQ,GAAqB,MAAM,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAA;QAE3E,OAAO,QAAQ,CAAC,IAAI,CAAA;IACtB,CAAC;CACF;AAED,kBAAe,UAAU,CAAA"}
@@ -1,15 +0,0 @@
1
- import { RequestClient, DynamicFieldResponse } from '@segment/actions-core';
2
- import type { Settings } from '../../generated-types';
3
- import DDApi from '../dd-api';
4
- import type { Payload } from '../../addContactToList/generated-types';
5
- import type { FieldTypeName } from '@segment/actions-core/destination-kittypes';
6
- declare class DDDataFieldsApi extends DDApi {
7
- constructor(settings: Settings, client: RequestClient);
8
- getDataFields(): Promise<DynamicFieldResponse>;
9
- mapDataFieldType(fieldType: string): FieldTypeName;
10
- isNumeric(value: unknown): boolean;
11
- validateDataFields(payload: Payload): Promise<{
12
- [k: string]: unknown;
13
- } | undefined>;
14
- }
15
- export default DDDataFieldsApi;
@@ -1,98 +0,0 @@
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 actions_core_1 = require("@segment/actions-core");
7
- const dd_api_1 = __importDefault(require("../dd-api"));
8
- class DDDataFieldsApi extends dd_api_1.default {
9
- constructor(settings, client) {
10
- super(settings, client);
11
- }
12
- async getDataFields() {
13
- const choices = [];
14
- const response = await this.get('/v2/data-fields/');
15
- const dataFields = response.data;
16
- choices.push(...dataFields.map((dataField) => ({
17
- value: dataField.name,
18
- label: dataField.name,
19
- type: this.mapDataFieldType(dataField.type)
20
- })));
21
- return { choices };
22
- }
23
- mapDataFieldType(fieldType) {
24
- switch (fieldType) {
25
- case 'String':
26
- return 'string';
27
- case 'Numeric':
28
- return 'number';
29
- case 'Date':
30
- return 'datetime';
31
- case 'Boolean':
32
- return 'boolean';
33
- default:
34
- throw new actions_core_1.PayloadValidationError(`Invalid data field type: ${fieldType}`);
35
- }
36
- }
37
- isNumeric(value) {
38
- const type = typeof value;
39
- return (type === 'number' || type === 'string') && !isNaN(Number(value));
40
- }
41
- async validateDataFields(payload) {
42
- if (!payload.dataFields) {
43
- return;
44
- }
45
- const response = await this.get('/v2/data-fields/');
46
- const ddDataFields = response.data;
47
- for (const [key, value] of Object.entries(payload.dataFields)) {
48
- let validatedValue = value;
49
- const ddDataField = ddDataFields.find((obj) => obj.name === key);
50
- if (!ddDataField) {
51
- throw new actions_core_1.PayloadValidationError(`Data field ${key} not found in Dotdigital`);
52
- }
53
- switch (ddDataField.type) {
54
- case 'Date':
55
- if (typeof value !== 'string') {
56
- throw new actions_core_1.PayloadValidationError(`Data field ${key} value ${value} is not a valid date`);
57
- }
58
- else {
59
- const date = new Date(value).toISOString();
60
- if (date === undefined) {
61
- throw new actions_core_1.PayloadValidationError(`Data field ${key} value ${value} is not a valid date`);
62
- }
63
- validatedValue = date;
64
- }
65
- break;
66
- case 'Numeric':
67
- if (typeof value === 'string') {
68
- if (!this.isNumeric(value)) {
69
- throw new actions_core_1.PayloadValidationError(`Data field ${key} value ${value} is not a valid number`);
70
- }
71
- }
72
- else if (typeof value !== 'number') {
73
- throw new actions_core_1.PayloadValidationError(`Data field ${key} value ${value} is not a valid number`);
74
- }
75
- break;
76
- case 'Boolean':
77
- if (typeof value === 'string' && value.trim().toLocaleLowerCase() === 'true') {
78
- validatedValue = true;
79
- }
80
- else if (typeof value === 'string' && value.trim().toLocaleLowerCase() === 'false') {
81
- validatedValue = false;
82
- }
83
- validatedValue = Boolean(validatedValue);
84
- break;
85
- case 'String':
86
- if (typeof value !== 'string') {
87
- throw new actions_core_1.PayloadValidationError(`Data field ${key} value ${value} is not a valid string`);
88
- }
89
- validatedValue = String(value).trim();
90
- break;
91
- }
92
- payload.dataFields[key] = validatedValue;
93
- }
94
- return payload.dataFields;
95
- }
96
- }
97
- exports.default = DDDataFieldsApi;
98
- //# sourceMappingURL=dd-datafields-api.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dd-datafields-api.js","sourceRoot":"","sources":["../../../../../src/destinations/dotdigital/api/resources/dd-datafields-api.ts"],"names":[],"mappings":"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"}
@@ -1,9 +0,0 @@
1
- import { RequestClient } from '@segment/actions-core';
2
- import type { Settings } from '../../generated-types';
3
- import DDApi from '../dd-api';
4
- import type { Payload } from '../../sendTransactionalEmail/generated-types';
5
- declare class DDEmailApi extends DDApi {
6
- constructor(settings: Settings, client: RequestClient);
7
- sendTransactionalEmail(payload: Payload): Promise<import("@segment/actions-core/src").ModifiedResponse<unknown>>;
8
- }
9
- export default DDEmailApi;
@@ -1,29 +0,0 @@
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 dd_api_1 = __importDefault(require("../dd-api"));
7
- const functions_1 = require("../../helpers/functions");
8
- class DDEmailApi extends dd_api_1.default {
9
- constructor(settings, client) {
10
- super(settings, client);
11
- }
12
- async sendTransactionalEmail(payload) {
13
- const toAddresses = (0, functions_1.cleanEmails)(payload.toAddresses);
14
- const ccAddresses = (0, functions_1.cleanEmails)(payload.ccAddresses);
15
- const bccAddresses = (0, functions_1.cleanEmails)(payload.bccAddresses);
16
- const fromAddress = (0, functions_1.checkAndCleanEmail)(payload.fromAddress);
17
- return await this.post('/v2/email', {
18
- ToAddresses: toAddresses,
19
- CCAddresses: ccAddresses,
20
- BCCAddresses: bccAddresses,
21
- Subject: payload.subject,
22
- FromAddress: fromAddress,
23
- HtmlContent: payload.htmlContent,
24
- PlainTextContent: payload.plainTextContent
25
- });
26
- }
27
- }
28
- exports.default = DDEmailApi;
29
- //# sourceMappingURL=dd-email-api.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dd-email-api.js","sourceRoot":"","sources":["../../../../../src/destinations/dotdigital/api/resources/dd-email-api.ts"],"names":[],"mappings":";;;;;AAEA,uDAA6B;AAC7B,uDAAyE;AAOzE,MAAM,UAAW,SAAQ,gBAAK;IAC5B,YAAY,QAAkB,EAAE,MAAqB;QACnD,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;IACzB,CAAC;IAOM,KAAK,CAAC,sBAAsB,CAAC,OAAgB;QAClD,MAAM,WAAW,GAAG,IAAA,uBAAW,EAAC,OAAO,CAAC,WAAW,CAAC,CAAA;QACpD,MAAM,WAAW,GAAG,IAAA,uBAAW,EAAC,OAAO,CAAC,WAAW,CAAC,CAAA;QACpD,MAAM,YAAY,GAAG,IAAA,uBAAW,EAAC,OAAO,CAAC,YAAY,CAAC,CAAA;QACtD,MAAM,WAAW,GAAG,IAAA,8BAAkB,EAAC,OAAO,CAAC,WAAW,CAAC,CAAA;QAC3D,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YAClC,WAAW,EAAE,WAAW;YACxB,WAAW,EAAE,WAAW;YACxB,YAAY,EAAE,YAAY;YAC1B,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,WAAW,EAAE,WAAW;YACxB,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;SAC3C,CAAC,CAAA;IACJ,CAAC;CACF;AAED,kBAAe,UAAU,CAAA"}
@@ -1,10 +0,0 @@
1
- import { RequestClient, DynamicFieldResponse } from '@segment/actions-core';
2
- import type { Settings } from '../../generated-types';
3
- import DDApi from '../dd-api';
4
- import { Contact, ProgramEnrolment } from '../types';
5
- declare class DDEnrolmentApi extends DDApi {
6
- constructor(settings: Settings, client: RequestClient);
7
- getPrograms(): Promise<DynamicFieldResponse>;
8
- enrolContact(programId: string, contact: Contact): Promise<ProgramEnrolment>;
9
- }
10
- export default DDEnrolmentApi;
@@ -1,33 +0,0 @@
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 dd_api_1 = __importDefault(require("../dd-api"));
7
- const types_1 = require("../types");
8
- class DDEnrolmentApi extends dd_api_1.default {
9
- constructor(settings, client) {
10
- super(settings, client);
11
- }
12
- async getPrograms() {
13
- const response = await this.get('/v2/programs');
14
- const programs = response.data;
15
- const choices = programs
16
- .filter((program) => program.status === types_1.ProgramStatus.Active)
17
- .map((program) => ({
18
- value: program.id.toString(),
19
- label: program.name
20
- }));
21
- return { choices };
22
- }
23
- async enrolContact(programId, contact) {
24
- const json = {
25
- contacts: [contact.contactId],
26
- programId
27
- };
28
- const response = await this.post('/v2/programs/enrolments', json);
29
- return response.data;
30
- }
31
- }
32
- exports.default = DDEnrolmentApi;
33
- //# sourceMappingURL=dd-enrolment-api.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dd-enrolment-api.js","sourceRoot":"","sources":["../../../../../src/destinations/dotdigital/api/resources/dd-enrolment-api.ts"],"names":[],"mappings":";;;;;AAEA,uDAA6B;AAC7B,oCAAmG;AAMnG,MAAM,cAAe,SAAQ,gBAAK;IAChC,YAAY,QAAkB,EAAE,MAAqB;QACnD,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;IACzB,CAAC;IAMM,KAAK,CAAC,WAAW;QACtB,MAAM,QAAQ,GAAgC,MAAM,IAAI,CAAC,GAAG,CAAY,cAAc,CAAC,CAAA;QACvF,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAA;QAC9B,MAAM,OAAO,GAAG,QAAQ;aACrB,MAAM,CAAC,CAAC,OAAgB,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,KAAK,qBAAa,CAAC,MAAM,CAAC;aACrE,GAAG,CAAC,CAAC,OAAgB,EAAE,EAAE,CAAC,CAAC;YAC1B,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE;YAC5B,KAAK,EAAE,OAAO,CAAC,IAAI;SACpB,CAAC,CAAC,CAAA;QACL,OAAO,EAAE,OAAO,EAAE,CAAA;IACpB,CAAC;IAQM,KAAK,CAAC,YAAY,CAAC,SAAiB,EAAE,OAAgB;QAC3D,MAAM,IAAI,GAA0B;YAClC,QAAQ,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC;YAC7B,SAAS;SACV,CAAA;QACD,MAAM,QAAQ,GAAuC,MAAM,IAAI,CAAC,IAAI,CAClE,yBAAyB,EACzB,IAAI,CACL,CAAA;QACD,OAAO,QAAQ,CAAC,IAAI,CAAA;IACtB,CAAC;CACF;AAED,kBAAe,cAAc,CAAA"}
@@ -1,11 +0,0 @@
1
- import { ModifiedResponse, RequestClient, DynamicFieldResponse } from '@segment/actions-core';
2
- import type { Settings } from '../../generated-types';
3
- import DDApi from '../dd-api';
4
- import { List } from '../types';
5
- declare class DDListsApi extends DDApi {
6
- constructor(settings: Settings, request: RequestClient);
7
- getListsPaging(select?: number, skip?: number): Promise<ModifiedResponse<List[]>>;
8
- getLists(): Promise<DynamicFieldResponse>;
9
- deleteContactFromList(listId: number, contactId: number): Promise<void>;
10
- }
11
- export default DDListsApi;
@@ -1,41 +0,0 @@
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 dd_api_1 = __importDefault(require("../dd-api"));
7
- class DDListsApi extends dd_api_1.default {
8
- constructor(settings, request) {
9
- super(settings, request);
10
- }
11
- async getListsPaging(select = 1000, skip = 0) {
12
- return await this.get('/v2/address-books', { select, skip });
13
- }
14
- async getLists() {
15
- const choices = [];
16
- const select = 200;
17
- let skip = 0;
18
- let hasMoreData = true;
19
- while (hasMoreData) {
20
- const response = await this.getListsPaging(select, skip);
21
- const content = response.data;
22
- if (content.length === 0) {
23
- hasMoreData = false;
24
- break;
25
- }
26
- else {
27
- choices.push(...content.map((list) => ({
28
- value: list.id.toString(),
29
- label: list.name
30
- })));
31
- skip += select;
32
- }
33
- }
34
- return { choices: choices };
35
- }
36
- async deleteContactFromList(listId, contactId) {
37
- await this.delete(`/v2/address-books/${listId}/contacts/${contactId}`);
38
- }
39
- }
40
- exports.default = DDListsApi;
41
- //# sourceMappingURL=dd-lists-api.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dd-lists-api.js","sourceRoot":"","sources":["../../../../../src/destinations/dotdigital/api/resources/dd-lists-api.ts"],"names":[],"mappings":";;;;;AAEA,uDAA6B;AAG7B,MAAM,UAAW,SAAQ,gBAAK;IAC5B,YAAY,QAAkB,EAAE,OAAsB;QACpD,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;IAC1B,CAAC;IAQD,KAAK,CAAC,cAAc,CAAC,MAAM,GAAG,IAAI,EAAE,IAAI,GAAG,CAAC;QAC1C,OAAO,MAAM,IAAI,CAAC,GAAG,CAAS,mBAAmB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;IACtE,CAAC;IAOD,KAAK,CAAC,QAAQ;QACZ,MAAM,OAAO,GAAG,EAAE,CAAA;QAClB,MAAM,MAAM,GAAG,GAAG,CAAA;QAClB,IAAI,IAAI,GAAG,CAAC,CAAA;QAEZ,IAAI,WAAW,GAAG,IAAI,CAAA;QACtB,OAAO,WAAW,EAAE,CAAC;YACnB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;YACxD,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAA;YAC7B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,WAAW,GAAG,KAAK,CAAA;gBACnB,MAAK;YACP,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,IAAI,CACV,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,IAAU,EAAE,EAAE,CAAC,CAAC;oBAC9B,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE;oBACzB,KAAK,EAAE,IAAI,CAAC,IAAI;iBACjB,CAAC,CAAC,CACJ,CAAA;gBACD,IAAI,IAAI,MAAM,CAAA;YAChB,CAAC;QACH,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAA;IAC7B,CAAC;IAUD,KAAK,CAAC,qBAAqB,CAAC,MAAc,EAAE,SAAiB;QAC3D,MAAM,IAAI,CAAC,MAAM,CAAC,qBAAqB,MAAM,aAAa,SAAS,EAAE,CAAC,CAAA;IACxE,CAAC;CACF;AAED,kBAAe,UAAU,CAAA"}
@@ -1,8 +0,0 @@
1
- import { ModifiedResponse, RequestClient } from '@segment/actions-core';
2
- import type { Settings } from '../../generated-types';
3
- import DDApi from '../dd-api';
4
- declare class DDSmsApi extends DDApi {
5
- constructor(settings: Settings, client: RequestClient);
6
- sendSms(mobileNumber: string, message: string): Promise<ModifiedResponse<unknown>>;
7
- }
8
- export default DDSmsApi;
@@ -1,21 +0,0 @@
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 dd_api_1 = __importDefault(require("../dd-api"));
7
- const functions_1 = require("../../helpers/functions");
8
- class DDSmsApi extends dd_api_1.default {
9
- constructor(settings, client) {
10
- super(settings, client);
11
- }
12
- async sendSms(mobileNumber, message) {
13
- const formattedNumber = (0, functions_1.checkAndCleanMobileNumber)(mobileNumber);
14
- const response = await this.post(`/v2/sms-messages/send-to/${formattedNumber}`, {
15
- message: message
16
- });
17
- return response;
18
- }
19
- }
20
- exports.default = DDSmsApi;
21
- //# sourceMappingURL=dd-sms-api.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dd-sms-api.js","sourceRoot":"","sources":["../../../../../src/destinations/dotdigital/api/resources/dd-sms-api.ts"],"names":[],"mappings":";;;;;AAEA,uDAA6B;AAC7B,uDAAmE;AAMnE,MAAM,QAAS,SAAQ,gBAAK;IAC1B,YAAY,QAAkB,EAAE,MAAqB;QACnD,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;IACzB,CAAC;IAQM,KAAK,CAAC,OAAO,CAAC,YAAoB,EAAE,OAAe;QACxD,MAAM,eAAe,GAAG,IAAA,qCAAyB,EAAC,YAAY,CAAC,CAAA;QAC/D,MAAM,QAAQ,GAAqB,MAAM,IAAI,CAAC,IAAI,CAAC,4BAA4B,eAAe,EAAE,EAAE;YAChG,OAAO,EAAE,OAAO;SACjB,CAAC,CAAA;QACF,OAAO,QAAQ,CAAA;IACjB,CAAC;CACF;AAED,kBAAe,QAAQ,CAAA"}
@@ -1,117 +0,0 @@
1
- export interface DynamicFieldResponse {
2
- choices: Array<{
3
- value: number;
4
- label: string;
5
- }>;
6
- nextPage?: string;
7
- error?: {
8
- message: string;
9
- code: string;
10
- };
11
- }
12
- export interface List {
13
- id: number;
14
- name: string;
15
- status: string;
16
- }
17
- export interface Campaign {
18
- id: number;
19
- name: string;
20
- }
21
- export interface sendCampaignPayload {
22
- campaignID: number;
23
- contactIDs: [number];
24
- sendDate?: string | number | undefined;
25
- }
26
- export interface DataField {
27
- name: string;
28
- type: 'String' | 'Numeric' | 'Date' | 'Boolean';
29
- visibility: string;
30
- defaultValue: string | null;
31
- }
32
- export interface Identifiers {
33
- email?: string;
34
- mobileNumber?: string;
35
- }
36
- export interface DataFields {
37
- [key: string]: string | number | boolean | null;
38
- }
39
- export interface ChannelProperties {
40
- email?: {
41
- status: string;
42
- emailType: string;
43
- optInType: string;
44
- };
45
- sms?: {
46
- status: string;
47
- };
48
- }
49
- interface ConsentRecord {
50
- text: string;
51
- dateTimeConsented: string;
52
- url: string;
53
- ipAddress: string;
54
- userAgent: string;
55
- }
56
- export interface Contact {
57
- contactId: number;
58
- status: string;
59
- created: string;
60
- updated: string;
61
- identifiers: Identifiers;
62
- dataFields: DataFields;
63
- channelProperties: ChannelProperties;
64
- lists: List[];
65
- consentRecords: ConsentRecord[];
66
- }
67
- export declare enum ProgramStatus {
68
- Active = "Active",
69
- Draft = "Draft",
70
- Deactivated = "Deactivated"
71
- }
72
- export interface Program {
73
- id: number;
74
- name: string;
75
- status: ProgramStatus;
76
- dateCreated: string;
77
- }
78
- export interface ProgramEnrolment {
79
- id: string;
80
- programId: number;
81
- status: string;
82
- dateCreated: string;
83
- contacts: null | unknown;
84
- addressBooks: null | unknown;
85
- }
86
- export interface ProgramEnrolementJSON {
87
- contacts: number[];
88
- programId: string;
89
- }
90
- export type ChannelIdentifier = {
91
- email: string;
92
- 'mobileNumber'?: never;
93
- } | {
94
- 'mobileNumber': string;
95
- email?: never;
96
- };
97
- export interface UpsertContactJSON {
98
- identifiers: Identifiers;
99
- channelProperties: ChannelProperties;
100
- lists: number[];
101
- dataFields?: DataFields;
102
- }
103
- export interface CpaasMessageBody {
104
- to: {
105
- phoneNumber: string;
106
- };
107
- body: string;
108
- rules: string[];
109
- channelOptions?: {
110
- sms: {
111
- from?: string;
112
- allowUnicode?: boolean;
113
- };
114
- };
115
- shortenLinks?: string;
116
- }
117
- export {};
@@ -1,10 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ProgramStatus = void 0;
4
- var ProgramStatus;
5
- (function (ProgramStatus) {
6
- ProgramStatus["Active"] = "Active";
7
- ProgramStatus["Draft"] = "Draft";
8
- ProgramStatus["Deactivated"] = "Deactivated";
9
- })(ProgramStatus || (exports.ProgramStatus = ProgramStatus = {}));
10
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/destinations/dotdigital/api/types.ts"],"names":[],"mappings":";;;AAyEA,IAAY,aAIX;AAJD,WAAY,aAAa;IACvB,kCAAiB,CAAA;IACjB,gCAAe,CAAA;IACf,4CAA2B,CAAA;AAC7B,CAAC,EAJW,aAAa,6BAAb,aAAa,QAIxB"}
@@ -1,3 +0,0 @@
1
- declare const checkAndCleanEmail: (email: string) => string;
2
- declare const cleanEmails: (emailsString: string | undefined) => string[];
3
- export { checkAndCleanEmail, cleanEmails };
@@ -1,23 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.cleanEmails = exports.checkAndCleanEmail = void 0;
4
- const checkAndCleanEmail = (email) => {
5
- const expression = /^[a-zA-Z0-9.!#$%&'*+-=?^_`{|}~]+@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*(\.[a-zA-Z]{2,9})$|^[\w\s]+<\s*[a-zA-Z0-9.!#$%&'*+-=?^_`{|}~]+@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*(\.[a-zA-Z]{2,9})\s*>$/;
6
- const trimmedEmail = email.trim();
7
- if (!expression.test(trimmedEmail)) {
8
- throw new Error(`Invalid email format: ${trimmedEmail}`);
9
- }
10
- return trimmedEmail;
11
- };
12
- exports.checkAndCleanEmail = checkAndCleanEmail;
13
- const cleanEmails = (emailsString) => {
14
- if (emailsString) {
15
- const emails = emailsString.split(',');
16
- if (typeof emails !== 'undefined' && Array.isArray(emails)) {
17
- return emails.filter(Boolean).map((email) => checkAndCleanEmail(email));
18
- }
19
- }
20
- return [];
21
- };
22
- exports.cleanEmails = cleanEmails;
23
- //# sourceMappingURL=checkAndCleanEmail.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"checkAndCleanEmail.js","sourceRoot":"","sources":["../../../../../src/destinations/dotdigital/helpers/functions/checkAndCleanEmail.ts"],"names":[],"mappings":";;;AASA,MAAM,kBAAkB,GAAG,CAAC,KAAa,EAAU,EAAE;IACnD,MAAM,UAAU,GACd,sLAAsL,CAAA;IACxL,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,EAAE,CAAA;IAEjC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,yBAAyB,YAAY,EAAE,CAAC,CAAA;IAC1D,CAAC;IAED,OAAO,YAAY,CAAA;AACrB,CAAC,CAAA;AAqBQ,gDAAkB;AAX3B,MAAM,WAAW,GAAG,CAAC,YAAgC,EAAY,EAAE;IACjE,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAEtC,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3D,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAA;QACzE,CAAC;IACH,CAAC;IACD,OAAO,EAAE,CAAA;AACX,CAAC,CAAA;AAE4B,kCAAW"}
@@ -1,2 +0,0 @@
1
- declare const checkAndCleanMobileNumber: (mobileNumber: string) => string;
2
- export default checkAndCleanMobileNumber;