@segment/action-destinations 3.216.0 → 3.216.4-staging.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 (199) hide show
  1. package/dist/destinations/acoustic-s3tc/generated-types.d.ts +5 -5
  2. package/dist/destinations/acoustic-s3tc/index.js +22 -18
  3. package/dist/destinations/acoustic-s3tc/index.js.map +1 -1
  4. package/dist/destinations/acoustic-s3tc/receiveEvents/eventprocessing.js +30 -33
  5. package/dist/destinations/acoustic-s3tc/receiveEvents/eventprocessing.js.map +1 -1
  6. package/dist/destinations/acoustic-s3tc/receiveEvents/index.js +9 -9
  7. package/dist/destinations/acoustic-s3tc/receiveEvents/index.js.map +1 -1
  8. package/dist/destinations/acoustic-s3tc/receiveEvents/preCheck.js +3 -3
  9. package/dist/destinations/acoustic-s3tc/receiveEvents/preCheck.js.map +1 -1
  10. package/dist/destinations/algolia-insights/algolia-insight-api.d.ts +7 -1
  11. package/dist/destinations/algolia-insights/conversionEvents/generated-types.d.ts +3 -0
  12. package/dist/destinations/algolia-insights/conversionEvents/index.js +14 -3
  13. package/dist/destinations/algolia-insights/conversionEvents/index.js.map +1 -1
  14. package/dist/destinations/algolia-insights/index.js +12 -2
  15. package/dist/destinations/algolia-insights/index.js.map +1 -1
  16. package/dist/destinations/algolia-insights/productAddedEvents/generated-types.d.ts +10 -0
  17. package/dist/destinations/{liveramp-audiences/audienceEnteredSFTP.types.js → algolia-insights/productAddedEvents/generated-types.js} +1 -1
  18. package/dist/destinations/algolia-insights/productAddedEvents/generated-types.js.map +1 -0
  19. package/dist/destinations/algolia-insights/productAddedEvents/index.d.ts +5 -0
  20. package/dist/destinations/algolia-insights/productAddedEvents/index.js +93 -0
  21. package/dist/destinations/algolia-insights/productAddedEvents/index.js.map +1 -0
  22. package/dist/destinations/algolia-insights/productClickedEvents/generated-types.d.ts +3 -0
  23. package/dist/destinations/algolia-insights/productClickedEvents/index.js +13 -2
  24. package/dist/destinations/algolia-insights/productClickedEvents/index.js.map +1 -1
  25. package/dist/destinations/algolia-insights/productListFilteredEvents/generated-types.d.ts +13 -0
  26. package/dist/destinations/algolia-insights/productListFilteredEvents/generated-types.js +3 -0
  27. package/dist/destinations/algolia-insights/productListFilteredEvents/generated-types.js.map +1 -0
  28. package/dist/destinations/algolia-insights/productListFilteredEvents/index.d.ts +5 -0
  29. package/dist/destinations/algolia-insights/productListFilteredEvents/index.js +101 -0
  30. package/dist/destinations/algolia-insights/productListFilteredEvents/index.js.map +1 -0
  31. package/dist/destinations/algolia-insights/productViewedEvents/generated-types.d.ts +3 -0
  32. package/dist/destinations/algolia-insights/productViewedEvents/index.js +13 -2
  33. package/dist/destinations/algolia-insights/productViewedEvents/index.js.map +1 -1
  34. package/dist/destinations/attio/assertRecord/index.js +4 -5
  35. package/dist/destinations/attio/assertRecord/index.js.map +1 -1
  36. package/dist/destinations/attio/groupWorkspace/generated-types.d.ts +1 -1
  37. package/dist/destinations/attio/groupWorkspace/index.js +13 -14
  38. package/dist/destinations/attio/groupWorkspace/index.js.map +1 -1
  39. package/dist/destinations/attio/identifyUser/generated-types.d.ts +1 -0
  40. package/dist/destinations/attio/identifyUser/index.js +17 -8
  41. package/dist/destinations/attio/identifyUser/index.js.map +1 -1
  42. package/dist/destinations/devrev/mocks/index.d.ts +3 -0
  43. package/dist/destinations/devrev/mocks/index.js +4 -1
  44. package/dist/destinations/devrev/mocks/index.js.map +1 -1
  45. package/dist/destinations/devrev/streamEvent/generated-types.d.ts +3 -0
  46. package/dist/destinations/devrev/streamEvent/index.js +41 -2
  47. package/dist/destinations/devrev/streamEvent/index.js.map +1 -1
  48. package/dist/destinations/engage/twilio/utils/PhoneMessageSender.js +13 -14
  49. package/dist/destinations/engage/twilio/utils/PhoneMessageSender.js.map +1 -1
  50. package/dist/destinations/engage/twilio/utils/TwilioMessageSender.js +1 -3
  51. package/dist/destinations/engage/twilio/utils/TwilioMessageSender.js.map +1 -1
  52. package/dist/destinations/engage/utils/EngageStats.js +4 -0
  53. package/dist/destinations/engage/utils/EngageStats.js.map +1 -1
  54. package/dist/destinations/engage/utils/MessageSendPerformer.js +4 -3
  55. package/dist/destinations/engage/utils/MessageSendPerformer.js.map +1 -1
  56. package/dist/destinations/facebook-conversions-api/fb-capi-properties.js +11 -1
  57. package/dist/destinations/facebook-conversions-api/fb-capi-properties.js.map +1 -1
  58. package/dist/destinations/index.js +3 -0
  59. package/dist/destinations/index.js.map +1 -1
  60. package/dist/destinations/iterable/trackEvent/index.js.map +1 -1
  61. package/dist/destinations/iterable/utils.js +1 -1
  62. package/dist/destinations/iterable/utils.js.map +1 -1
  63. package/dist/destinations/klaviyo/config.d.ts +1 -0
  64. package/dist/destinations/klaviyo/config.js +5 -0
  65. package/dist/destinations/klaviyo/config.js.map +1 -0
  66. package/dist/destinations/klaviyo/index.js +6 -4
  67. package/dist/destinations/klaviyo/index.js.map +1 -1
  68. package/dist/destinations/klaviyo/trackEvent/generated-types.d.ts +19 -0
  69. package/dist/destinations/klaviyo/trackEvent/generated-types.js +3 -0
  70. package/dist/destinations/klaviyo/trackEvent/generated-types.js.map +1 -0
  71. package/dist/destinations/klaviyo/trackEvent/index.d.ts +5 -0
  72. package/dist/destinations/klaviyo/trackEvent/index.js +122 -0
  73. package/dist/destinations/klaviyo/trackEvent/index.js.map +1 -0
  74. package/dist/destinations/klaviyo/types.d.ts +33 -0
  75. package/dist/destinations/klaviyo/types.js +8 -0
  76. package/dist/destinations/klaviyo/types.js.map +1 -0
  77. package/dist/destinations/klaviyo/upsertProfile/generated-types.d.ts +21 -1
  78. package/dist/destinations/klaviyo/upsertProfile/index.js +149 -5
  79. package/dist/destinations/klaviyo/upsertProfile/index.js.map +1 -1
  80. package/dist/destinations/liveramp-audiences/audienceEnteredSftp/sftp.d.ts +4 -1
  81. package/dist/destinations/liveramp-audiences/audienceEnteredSftp/sftp.js +17 -2
  82. package/dist/destinations/liveramp-audiences/audienceEnteredSftp/sftp.js.map +1 -1
  83. package/dist/destinations/optimizely-advanced-audience-targeting/syncAudience/index.js +1 -1
  84. package/dist/destinations/optimizely-advanced-audience-targeting/syncAudience/index.js.map +1 -1
  85. package/dist/destinations/optimizely-data-platform/customEvent/generated-types.d.ts +16 -0
  86. package/dist/destinations/optimizely-data-platform/customEvent/generated-types.js +3 -0
  87. package/dist/destinations/optimizely-data-platform/customEvent/generated-types.js.map +1 -0
  88. package/dist/destinations/optimizely-data-platform/customEvent/index.d.ts +5 -0
  89. package/dist/destinations/optimizely-data-platform/customEvent/index.js +33 -0
  90. package/dist/destinations/optimizely-data-platform/customEvent/index.js.map +1 -0
  91. package/dist/destinations/optimizely-data-platform/emailEvent/generated-types.d.ts +13 -0
  92. package/dist/destinations/optimizely-data-platform/emailEvent/generated-types.js +3 -0
  93. package/dist/destinations/optimizely-data-platform/emailEvent/generated-types.js.map +1 -0
  94. package/dist/destinations/optimizely-data-platform/emailEvent/index.d.ts +5 -0
  95. package/dist/destinations/optimizely-data-platform/emailEvent/index.js +55 -0
  96. package/dist/destinations/optimizely-data-platform/emailEvent/index.js.map +1 -0
  97. package/dist/destinations/optimizely-data-platform/fields.d.ts +8 -0
  98. package/dist/destinations/optimizely-data-platform/fields.js +148 -0
  99. package/dist/destinations/optimizely-data-platform/fields.js.map +1 -0
  100. package/dist/destinations/optimizely-data-platform/generated-types.d.ts +4 -0
  101. package/dist/destinations/optimizely-data-platform/generated-types.js +3 -0
  102. package/dist/destinations/optimizely-data-platform/generated-types.js.map +1 -0
  103. package/dist/destinations/optimizely-data-platform/index.d.ts +4 -0
  104. package/dist/destinations/optimizely-data-platform/index.js +155 -0
  105. package/dist/destinations/optimizely-data-platform/index.js.map +1 -0
  106. package/dist/destinations/optimizely-data-platform/upsertContact/generated-types.d.ts +25 -0
  107. package/dist/destinations/optimizely-data-platform/upsertContact/generated-types.js +3 -0
  108. package/dist/destinations/optimizely-data-platform/upsertContact/generated-types.js.map +1 -0
  109. package/dist/destinations/optimizely-data-platform/upsertContact/index.d.ts +5 -0
  110. package/dist/destinations/optimizely-data-platform/upsertContact/index.js +134 -0
  111. package/dist/destinations/optimizely-data-platform/upsertContact/index.js.map +1 -0
  112. package/dist/destinations/optimizely-data-platform/utils.d.ts +3 -0
  113. package/dist/destinations/optimizely-data-platform/utils.js +9 -0
  114. package/dist/destinations/optimizely-data-platform/utils.js.map +1 -0
  115. package/dist/destinations/pinterest-conversions/reportConversionEvent/index.js +1 -1
  116. package/dist/destinations/pinterest-conversions/reportConversionEvent/index.js.map +1 -1
  117. package/dist/destinations/segment-profiles/errors.d.ts +10 -10
  118. package/dist/destinations/segment-profiles/errors.js +11 -11
  119. package/dist/destinations/segment-profiles/errors.js.map +1 -1
  120. package/dist/destinations/segment-profiles/segment-properties.d.ts +0 -10
  121. package/dist/destinations/segment-profiles/segment-properties.js +1 -58
  122. package/dist/destinations/segment-profiles/segment-properties.js.map +1 -1
  123. package/dist/destinations/segment-profiles/sendSubscription/index.js +162 -137
  124. package/dist/destinations/segment-profiles/sendSubscription/index.js.map +1 -1
  125. package/dist/destinations/segment-profiles/sendSubscription/subscription-properties.d.ts +15 -0
  126. package/dist/destinations/segment-profiles/sendSubscription/subscription-properties.js +85 -0
  127. package/dist/destinations/segment-profiles/sendSubscription/subscription-properties.js.map +1 -0
  128. package/dist/destinations/snap-conversions-api/_tests_/index.test.js +40 -1
  129. package/dist/destinations/snap-conversions-api/_tests_/index.test.js.map +1 -1
  130. package/dist/destinations/snap-conversions-api/reportConversionEvent/generated-types.d.ts +6 -0
  131. package/dist/destinations/snap-conversions-api/reportConversionEvent/index.js +2 -0
  132. package/dist/destinations/snap-conversions-api/reportConversionEvent/index.js.map +1 -1
  133. package/dist/destinations/snap-conversions-api/snap-capi-properties.d.ts +2 -0
  134. package/dist/destinations/snap-conversions-api/snap-capi-properties.js +81 -12
  135. package/dist/destinations/snap-conversions-api/snap-capi-properties.js.map +1 -1
  136. package/dist/destinations/the-trade-desk-crm/awsClient.d.ts +0 -1
  137. package/dist/destinations/the-trade-desk-crm/awsClient.js +0 -1
  138. package/dist/destinations/the-trade-desk-crm/awsClient.js.map +1 -1
  139. package/dist/destinations/the-trade-desk-crm/functions.js +5 -54
  140. package/dist/destinations/the-trade-desk-crm/functions.js.map +1 -1
  141. package/dist/destinations/the-trade-desk-crm/index.js +13 -9
  142. package/dist/destinations/the-trade-desk-crm/index.js.map +1 -1
  143. package/dist/destinations/the-trade-desk-crm/properties.d.ts +0 -2
  144. package/dist/destinations/the-trade-desk-crm/properties.js +1 -18
  145. package/dist/destinations/the-trade-desk-crm/properties.js.map +1 -1
  146. package/dist/destinations/the-trade-desk-crm/syncAudience/generated-types.d.ts +0 -2
  147. package/dist/destinations/the-trade-desk-crm/syncAudience/index.js +0 -2
  148. package/dist/destinations/the-trade-desk-crm/syncAudience/index.js.map +1 -1
  149. package/dist/destinations/tiktok-audiences/addToAudience/index.js +13 -13
  150. package/dist/destinations/tiktok-audiences/addToAudience/index.js.map +1 -1
  151. package/dist/destinations/tiktok-audiences/addUser/index.js +6 -2
  152. package/dist/destinations/tiktok-audiences/addUser/index.js.map +1 -1
  153. package/dist/destinations/tiktok-audiences/constants.d.ts +1 -1
  154. package/dist/destinations/tiktok-audiences/constants.js +1 -1
  155. package/dist/destinations/tiktok-audiences/constants.js.map +1 -1
  156. package/dist/destinations/tiktok-audiences/removeFromAudience/index.js +4 -6
  157. package/dist/destinations/tiktok-audiences/removeFromAudience/index.js.map +1 -1
  158. package/dist/destinations/yahoo-audiences/constants.d.ts +2 -0
  159. package/dist/destinations/yahoo-audiences/constants.js +6 -0
  160. package/dist/destinations/yahoo-audiences/constants.js.map +1 -0
  161. package/dist/destinations/yahoo-audiences/createCustomerNode/generated-types.d.ts +4 -0
  162. package/dist/destinations/yahoo-audiences/createCustomerNode/generated-types.js +3 -0
  163. package/dist/destinations/yahoo-audiences/createCustomerNode/generated-types.js.map +1 -0
  164. package/dist/destinations/yahoo-audiences/createCustomerNode/index.d.ts +5 -0
  165. package/dist/destinations/yahoo-audiences/createCustomerNode/index.js +33 -0
  166. package/dist/destinations/yahoo-audiences/createCustomerNode/index.js.map +1 -0
  167. package/dist/destinations/yahoo-audiences/createSegment/generated-types.d.ts +6 -0
  168. package/dist/destinations/yahoo-audiences/createSegment/generated-types.js +3 -0
  169. package/dist/destinations/yahoo-audiences/createSegment/generated-types.js.map +1 -0
  170. package/dist/destinations/yahoo-audiences/createSegment/index.d.ts +5 -0
  171. package/dist/destinations/yahoo-audiences/createSegment/index.js +45 -0
  172. package/dist/destinations/yahoo-audiences/createSegment/index.js.map +1 -0
  173. package/dist/destinations/yahoo-audiences/generated-types.d.ts +12 -0
  174. package/dist/destinations/yahoo-audiences/generated-types.js +3 -0
  175. package/dist/destinations/yahoo-audiences/generated-types.js.map +1 -0
  176. package/dist/destinations/yahoo-audiences/index.d.ts +4 -0
  177. package/dist/destinations/yahoo-audiences/index.js +145 -0
  178. package/dist/destinations/yahoo-audiences/index.js.map +1 -0
  179. package/dist/destinations/yahoo-audiences/types.d.ts +25 -0
  180. package/dist/destinations/yahoo-audiences/types.js +3 -0
  181. package/dist/destinations/yahoo-audiences/types.js.map +1 -0
  182. package/dist/destinations/yahoo-audiences/updateSegment/generated-types.d.ts +17 -0
  183. package/dist/destinations/yahoo-audiences/updateSegment/generated-types.js +3 -0
  184. package/dist/destinations/yahoo-audiences/updateSegment/generated-types.js.map +1 -0
  185. package/dist/destinations/yahoo-audiences/updateSegment/index.d.ts +5 -0
  186. package/dist/destinations/yahoo-audiences/updateSegment/index.js +168 -0
  187. package/dist/destinations/yahoo-audiences/updateSegment/index.js.map +1 -0
  188. package/dist/destinations/yahoo-audiences/utils-rt.d.ts +10 -0
  189. package/dist/destinations/yahoo-audiences/utils-rt.js +95 -0
  190. package/dist/destinations/yahoo-audiences/utils-rt.js.map +1 -0
  191. package/dist/destinations/yahoo-audiences/utils-tax.d.ts +10 -0
  192. package/dist/destinations/yahoo-audiences/utils-tax.js +67 -0
  193. package/dist/destinations/yahoo-audiences/utils-tax.js.map +1 -0
  194. package/dist/destinations/yahoo-audiences/utils.d.ts +4 -0
  195. package/dist/destinations/yahoo-audiences/utils.js +30 -0
  196. package/dist/destinations/yahoo-audiences/utils.js.map +1 -0
  197. package/package.json +4 -4
  198. package/dist/destinations/liveramp-audiences/audienceEnteredSFTP.types.d.ts +0 -16
  199. package/dist/destinations/liveramp-audiences/audienceEnteredSFTP.types.js.map +0 -1
@@ -1,8 +1,8 @@
1
1
  export interface Settings {
2
- fileNamePrefix?: string;
3
- s3_access_key?: string;
4
- s3_secret?: string;
5
- s3_bucket?: string;
6
- s3_region?: string;
2
+ fileNamePrefix: string;
3
+ s3_bucket_accesspoint_alias: string;
4
+ s3_access_key: string;
5
+ s3_secret: string;
6
+ s3_region: string;
7
7
  version?: string;
8
8
  }
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const actions_core_1 = require("@segment/actions-core");
7
7
  const index_1 = __importDefault(require("./receiveEvents/index"));
8
8
  const mod = `
9
- Last-Modified: 08.22.2023 09.14.43
9
+ Last-Modified: 09.19.2023 10.30.43
10
10
  `;
11
11
  const presets = [
12
12
  {
@@ -46,43 +46,47 @@ const destination = {
46
46
  name: 'Acoustic (Actions)',
47
47
  slug: 'actions-acoustic',
48
48
  mode: 'cloud',
49
- description: 'Send Segment Track and Identify Event Data to Acoustic Connect',
49
+ description: 'Acoustic (S3TC) - Provide Segment Track and Identify Event Data to Acoustic Connect',
50
50
  authentication: {
51
51
  scheme: 'custom',
52
52
  fields: {
53
53
  fileNamePrefix: {
54
- label: 'File Name Prefix',
55
- description: `Prefix to all Stored File Names`,
54
+ label: 'Customer Prefix',
55
+ description: 'Use your Acoustic Org name but replace any spaces with an underscore, eg., AcmeCustomer_Prod',
56
56
  type: 'string',
57
- required: false,
57
+ required: true,
58
58
  default: 'customer_org_'
59
59
  },
60
+ s3_bucket_accesspoint_alias: {
61
+ label: 'S3 Bucket Access Point Alias',
62
+ description: 'The Alias of the Access Point created for your access to the S3 Bucket.',
63
+ default: '',
64
+ type: 'string',
65
+ required: true
66
+ },
60
67
  s3_access_key: {
61
68
  label: 'S3 Access Key',
62
- description: 'Write permission to the S3 bucket.',
63
- type: 'string'
69
+ description: 'S3 Access Key for the S3 bucket.',
70
+ type: 'string',
71
+ required: true
64
72
  },
65
73
  s3_secret: {
66
74
  label: 'S3 Secret',
67
- description: 'Write permission to the S3 bucket.',
68
- type: 'password'
69
- },
70
- s3_bucket: {
71
- label: 'S3 Bucket Access Point',
72
- description: 'An Access Point created as access to the S3 bucket.',
73
- default: 's3://arn:aws:s3:us-east-1:777957353822:accesspoint/tricklercache-access',
74
- type: 'string'
75
+ description: 'S3 Secret credential for the S3 bucket.',
76
+ type: 'password',
77
+ required: true
75
78
  },
76
79
  s3_region: {
77
80
  label: 'S3 Region',
78
- description: 'See S3 definition, should be eg: us-east-1, us-east-2',
81
+ description: 'Should always be us-east-1 unless directed by Acoustic otherwise. ',
79
82
  default: 'us-east-1',
80
- type: 'string'
83
+ type: 'string',
84
+ required: true
81
85
  },
82
86
  version: {
83
87
  label: `Version:`,
84
88
  description: `\n${mod}\n`,
85
- default: 'Version 1.7',
89
+ default: 'Version 2.3',
86
90
  type: 'string',
87
91
  required: false
88
92
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/destinations/acoustic-s3tc/index.ts"],"names":[],"mappings":";;;;;AAAA,wDAA4E;AAE5E,kEAAiD;AAEjD,MAAM,GAAG,GAAG;;CAEX,CAAA;AAID,MAAM,OAAO,GAAqC;IAChD;QACE,IAAI,EAAE,aAAa;QACnB,SAAS,EAAE,gBAAgB;QAC3B,aAAa,EAAE,eAAe;QAC9B,OAAO,EAAE;YACP,GAAG,4BAAa,CAAC,eAAa,CAAC,MAAM,CAAC;YACtC,KAAK,EAAE;gBACL,KAAK,EAAE;oBACL,MAAM,EAAE,EAAE,OAAO,EAAE,oBAAoB,EAAE;oBACzC,IAAI,EAAE,EAAE,OAAO,EAAE,oBAAoB,EAAE;oBACvC,IAAI,EAAE,EAAE,OAAO,EAAE,wBAAwB,EAAE;iBAC5C;aACF;SACF;QACD,IAAI,EAAE,WAAW;KAClB;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,SAAS,EAAE,mBAAmB;QAC9B,aAAa,EAAE,eAAe;QAC9B,OAAO,EAAE;YACP,GAAG,4BAAa,CAAC,eAAa,CAAC,MAAM,CAAC;YACtC,KAAK,EAAE;gBACL,KAAK,EAAE;oBACL,MAAM,EAAE,EAAE,OAAO,EAAE,gBAAgB,EAAE;oBACrC,IAAI,EAAE,EAAE,OAAO,EAAE,gBAAgB,EAAE;oBACnC,IAAI,EAAE,EAAE,OAAO,EAAE,wBAAwB,EAAE;iBAC5C;aACF;SACF;QACD,IAAI,EAAE,WAAW;KAClB;CACF,CAAA;AAED,MAAM,WAAW,GAAoC;IACnD,IAAI,EAAE,oBAAoB;IAC1B,IAAI,EAAE,kBAAkB;IACxB,IAAI,EAAE,OAAO;IACb,WAAW,EAAE,gEAAgE;IAC7E,cAAc,EAAE;QACd,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE;YACN,cAAc,EAAE;gBACd,KAAK,EAAE,kBAAkB;gBACzB,WAAW,EAAE,iCAAiC;gBAC9C,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,KAAK;gBACf,OAAO,EAAE,eAAe;aACzB;YACD,aAAa,EAAE;gBACb,KAAK,EAAE,eAAe;gBACtB,WAAW,EAAE,oCAAoC;gBACjD,IAAI,EAAE,QAAQ;aACf;YACD,SAAS,EAAE;gBACT,KAAK,EAAE,WAAW;gBAClB,WAAW,EAAE,oCAAoC;gBACjD,IAAI,EAAE,UAAU;aACjB;YACD,SAAS,EAAE;gBACT,KAAK,EAAE,wBAAwB;gBAC/B,WAAW,EAAE,qDAAqD;gBAClE,OAAO,EAAE,yEAAyE;gBAClF,IAAI,EAAE,QAAQ;aACf;YACD,SAAS,EAAE;gBACT,KAAK,EAAE,WAAW;gBAClB,WAAW,EAAE,uDAAuD;gBACpE,OAAO,EAAE,WAAW;gBACpB,IAAI,EAAE,QAAQ;aACf;YACD,OAAO,EAAE;gBACP,KAAK,EAAE,UAAU;gBACjB,WAAW,EAAE,KAAK,GAAG,IAAI;gBACzB,OAAO,EAAE,aAAa;gBACtB,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,KAAK;aAChB;SACF;KACF;IACD,OAAO;IACP,OAAO,EAAE;QACP,aAAa,EAAb,eAAa;KACd;CACF,CAAA;AACD,kBAAe,WAAW,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/destinations/acoustic-s3tc/index.ts"],"names":[],"mappings":";;;;;AAAA,wDAA4E;AAE5E,kEAAiD;AAEjD,MAAM,GAAG,GAAG;;CAEX,CAAA;AAID,MAAM,OAAO,GAAqC;IAChD;QACE,IAAI,EAAE,aAAa;QACnB,SAAS,EAAE,gBAAgB;QAC3B,aAAa,EAAE,eAAe;QAC9B,OAAO,EAAE;YACP,GAAG,4BAAa,CAAC,eAAa,CAAC,MAAM,CAAC;YACtC,KAAK,EAAE;gBACL,KAAK,EAAE;oBACL,MAAM,EAAE,EAAE,OAAO,EAAE,oBAAoB,EAAE;oBACzC,IAAI,EAAE,EAAE,OAAO,EAAE,oBAAoB,EAAE;oBACvC,IAAI,EAAE,EAAE,OAAO,EAAE,wBAAwB,EAAE;iBAC5C;aACF;SACF;QACD,IAAI,EAAE,WAAW;KAClB;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,SAAS,EAAE,mBAAmB;QAC9B,aAAa,EAAE,eAAe;QAC9B,OAAO,EAAE;YACP,GAAG,4BAAa,CAAC,eAAa,CAAC,MAAM,CAAC;YACtC,KAAK,EAAE;gBACL,KAAK,EAAE;oBACL,MAAM,EAAE,EAAE,OAAO,EAAE,gBAAgB,EAAE;oBACrC,IAAI,EAAE,EAAE,OAAO,EAAE,gBAAgB,EAAE;oBACnC,IAAI,EAAE,EAAE,OAAO,EAAE,wBAAwB,EAAE;iBAC5C;aACF;SACF;QACD,IAAI,EAAE,WAAW;KAClB;CACF,CAAA;AAED,MAAM,WAAW,GAAoC;IACnD,IAAI,EAAE,oBAAoB;IAC1B,IAAI,EAAE,kBAAkB;IACxB,IAAI,EAAE,OAAO;IACb,WAAW,EAAE,qFAAqF;IAClG,cAAc,EAAE;QACd,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE;YACN,cAAc,EAAE;gBACd,KAAK,EAAE,iBAAiB;gBACxB,WAAW,EAAE,8FAA8F;gBAC3G,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;gBACd,OAAO,EAAE,eAAe;aACzB;YACD,2BAA2B,EAAE;gBAC3B,KAAK,EAAE,8BAA8B;gBACrC,WAAW,EAAE,yEAAyE;gBACtF,OAAO,EAAE,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;aACf;YACD,aAAa,EAAE;gBACb,KAAK,EAAE,eAAe;gBACtB,WAAW,EAAE,kCAAkC;gBAC/C,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;aACf;YACD,SAAS,EAAE;gBACT,KAAK,EAAE,WAAW;gBAClB,WAAW,EAAE,yCAAyC;gBACtD,IAAI,EAAE,UAAU;gBAChB,QAAQ,EAAE,IAAI;aACf;YACD,SAAS,EAAE;gBACT,KAAK,EAAE,WAAW;gBAClB,WAAW,EAAE,oEAAoE;gBACjF,OAAO,EAAE,WAAW;gBACpB,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;aACf;YACD,OAAO,EAAE;gBACP,KAAK,EAAE,UAAU;gBACjB,WAAW,EAAE,KAAK,GAAG,IAAI;gBACzB,OAAO,EAAE,aAAa;gBACtB,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,KAAK;aAChB;SACF;KACF;IACD,OAAO;IACP,OAAO,EAAE;QACP,aAAa,EAAb,eAAa;KACd;CACF,CAAA;AACD,kBAAe,WAAW,CAAA"}
@@ -8,9 +8,11 @@ const actions_core_1 = require("@segment/actions-core");
8
8
  const get_1 = __importDefault(require("lodash/get"));
9
9
  function parseSections(section, nestDepth) {
10
10
  const parseResults = {};
11
+ if (nestDepth > 10)
12
+ throw new actions_core_1.IntegrationError('Event data exceeds nesting depth. Use Mapping to flatten the data to no more than 3 levels deep', 'NESTING_DEPTH_EXCEEDED', 400);
11
13
  try {
12
- if (nestDepth > 10)
13
- throw new actions_core_1.IntegrationError('Event data exceeds nesting depth. Use Mapping to avoid nesting data attributes more than 10 levels deep', 'NESTING_DEPTH_EXCEEDED', 400);
14
+ if (section === null)
15
+ section = { null: '' };
14
16
  for (const key of Object.keys(section)) {
15
17
  if (typeof section[key] === 'object') {
16
18
  nestDepth++;
@@ -33,40 +35,35 @@ exports.parseSections = parseSections;
33
35
  function addUpdateEvents(payload, email) {
34
36
  let eventName = '';
35
37
  let eventValue = '';
36
- let csvRows = 'EMAIL, EventSource, EventName, EventValue, Event Timestamp\n';
38
+ let csvRows = 'EMAIL, EventSource, EventName, EventValue, EventTimestamp\n';
37
39
  const eventSource = get_1.default(payload, 'type', 'Null') + ' Event';
38
40
  const timestamp = get_1.default(payload, 'timestamp', 'Null');
39
41
  let propertiesTraitsKV = {};
40
- try {
41
- if (payload.key_value_pairs)
42
- propertiesTraitsKV = {
43
- ...propertiesTraitsKV,
44
- ...parseSections(payload.key_value_pairs, 0)
45
- };
46
- if (payload.array_data)
47
- propertiesTraitsKV = {
48
- ...propertiesTraitsKV,
49
- ...parseSections(payload.array_data, 0)
50
- };
51
- if (payload.traits)
52
- propertiesTraitsKV = {
53
- ...propertiesTraitsKV,
54
- ...parseSections(payload.traits, 0)
55
- };
56
- if (payload.properties)
57
- propertiesTraitsKV = {
58
- ...propertiesTraitsKV,
59
- ...parseSections(payload.properties, 0)
60
- };
61
- if (payload.context)
62
- propertiesTraitsKV = {
63
- ...propertiesTraitsKV,
64
- ...parseSections(payload.context, 0)
65
- };
66
- }
67
- catch (e) {
68
- throw new actions_core_1.IntegrationError('Unexpected Exception processing payload \n ${e}', 'UNEXPECTED_EXCEPTION_PROCESSING_PAYLOAD', 400);
69
- }
42
+ if (payload.key_value_pairs)
43
+ propertiesTraitsKV = {
44
+ ...propertiesTraitsKV,
45
+ ...parseSections(payload.key_value_pairs, 0)
46
+ };
47
+ if (payload.array_data)
48
+ propertiesTraitsKV = {
49
+ ...propertiesTraitsKV,
50
+ ...parseSections(payload.array_data, 0)
51
+ };
52
+ if (payload.traits)
53
+ propertiesTraitsKV = {
54
+ ...propertiesTraitsKV,
55
+ ...parseSections(payload.traits, 0)
56
+ };
57
+ if (payload.properties)
58
+ propertiesTraitsKV = {
59
+ ...propertiesTraitsKV,
60
+ ...parseSections(payload.properties, 0)
61
+ };
62
+ if (payload.context)
63
+ propertiesTraitsKV = {
64
+ ...propertiesTraitsKV,
65
+ ...parseSections(payload.context, 0)
66
+ };
70
67
  let ak = '';
71
68
  let av = '';
72
69
  const getValue = (o, part) => Object.entries(o).find(([k, _v]) => k.includes(part))?.[1];
@@ -1 +1 @@
1
- {"version":3,"file":"eventprocessing.js","sourceRoot":"","sources":["../../../../src/destinations/acoustic-s3tc/receiveEvents/eventprocessing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"eventprocessing.js","sourceRoot":"","sources":["../../../../src/destinations/acoustic-s3tc/receiveEvents/eventprocessing.ts"],"names":[],"mappings":"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"}
@@ -14,29 +14,29 @@ const action = {
14
14
  fields: {
15
15
  key_value_pairs: {
16
16
  label: 'Key-Value pairs',
17
- description: '(optional) Map simple Key-Value pairs',
17
+ description: 'Map simple Key-Value pairs (optional) ',
18
18
  type: 'object'
19
19
  },
20
20
  array_data: {
21
21
  label: 'Arrays',
22
- description: '(optional) If the data needed is in an array, use this section to Map Array data into useable attributes',
22
+ description: 'If the data needed is in an array, use this section to Map Array data into useable attributes (optional) ',
23
23
  type: 'object',
24
24
  multiple: true,
25
25
  additionalProperties: true
26
26
  },
27
27
  context: {
28
28
  label: 'Context',
29
- description: '(optional) If the data is present in a Context section, use this to map the attributes of a Context Section',
29
+ description: 'If the data is present in a Context section, use this to map the attributes of a Context Section (optional)',
30
30
  type: 'object'
31
31
  },
32
32
  properties: {
33
33
  label: 'Properties',
34
- description: '(optional) If the data is present in a Properties section, use this to map the attributes of a Properties Section',
34
+ description: 'If the data is present in a Properties section, use this to map the attributes of a Properties Section (optional) ',
35
35
  type: 'object'
36
36
  },
37
37
  traits: {
38
38
  label: 'Traits',
39
- description: '(optional) If the data is present in a Traits section, use this to map the attributes of a Traits Section',
39
+ description: 'If the data is present in a Traits section, use this to map the attributes of a Traits Section (optional) ',
40
40
  type: 'object'
41
41
  },
42
42
  email: {
@@ -55,7 +55,7 @@ const action = {
55
55
  },
56
56
  type: {
57
57
  label: 'Type',
58
- description: 'The type of event. e.g. track or identify. This field is required',
58
+ description: 'Do Not Modify - The type of event. e.g. track or identify, this field is required',
59
59
  type: 'string',
60
60
  required: true,
61
61
  default: {
@@ -64,7 +64,7 @@ const action = {
64
64
  },
65
65
  timestamp: {
66
66
  label: 'Timestamp',
67
- description: 'The timestamp for when the event took place. This field is required',
67
+ description: 'Do Not Modify - The timestamp for when the event took place. This field is required',
68
68
  type: 'datetime',
69
69
  required: true,
70
70
  default: {
@@ -83,9 +83,9 @@ const action = {
83
83
  const csvRows = eventprocessing_1.addUpdateEvents(payload, email);
84
84
  const fileName = settings.fileNamePrefix + `${new Date().toISOString().replace(/(\.|-|:)/g, '_')}` + '.csv';
85
85
  const method = 'PUT';
86
- const opts = await s3_1.default(settings.s3_bucket, settings.s3_region, fileName, method, csvRows, settings.s3_access_key, settings.s3_secret);
86
+ const opts = await s3_1.default(settings.s3_bucket_accesspoint_alias, settings.s3_region, fileName, method, csvRows, settings.s3_access_key, settings.s3_secret);
87
87
  if (!opts.headers || !opts.method || !opts.host || !opts.path) {
88
- throw new actions_core_1.InvalidAuthenticationError('Unable to generate signature header for AWS S3 request.');
88
+ throw new actions_core_1.InvalidAuthenticationError('Unable to generate correct signature header for AWS S3 Put request.');
89
89
  }
90
90
  return await request(`https://${opts.host}/${opts.path}`, {
91
91
  headers: opts.headers,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/acoustic-s3tc/receiveEvents/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/acoustic-s3tc/receiveEvents/index.ts"],"names":[],"mappings":"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"}
@@ -12,11 +12,11 @@ function validateSettings(settings) {
12
12
  if (!settings.s3_region) {
13
13
  throw new actions_core_1.IntegrationError('Missing S3 Region', 'MISSING_S3_REGION', 400);
14
14
  }
15
- if (!settings.s3_bucket) {
16
- throw new actions_core_1.IntegrationError('Missing S3 Bucket.', 'MISSING_S3_BUCKET', 400);
15
+ if (!settings.s3_bucket_accesspoint_alias) {
16
+ throw new actions_core_1.IntegrationError('Missing S3 Bucket Access Point.', 'MISSING_S3_BUCKET_ACCESS_POINT', 400);
17
17
  }
18
18
  if (!settings.fileNamePrefix) {
19
- throw new actions_core_1.IntegrationError('Missing File Name Prefix', 'MISSING_FILE_NAME_PREFIX', 400);
19
+ throw new actions_core_1.IntegrationError('Missing Customer Prefix', 'MISSING_CUSTOMER_PREFIX', 400);
20
20
  }
21
21
  }
22
22
  exports.validateSettings = validateSettings;
@@ -1 +1 @@
1
- {"version":3,"file":"preCheck.js","sourceRoot":"","sources":["../../../../src/destinations/acoustic-s3tc/receiveEvents/preCheck.ts"],"names":[],"mappings":";;;AAAA,wDAAwD;AAGxD,SAAS,gBAAgB,CAAC,QAAkB;IAC1C,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE;QAC3B,MAAM,IAAI,+BAAgB,CAAC,uBAAuB,EAAE,uBAAuB,EAAE,GAAG,CAAC,CAAA;KAClF;IAED,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE;QACvB,MAAM,IAAI,+BAAgB,CAAC,oBAAoB,EAAE,mBAAmB,EAAE,GAAG,CAAC,CAAA;KAC3E;IAED,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE;QACvB,MAAM,IAAI,+BAAgB,CAAC,mBAAmB,EAAE,mBAAmB,EAAE,GAAG,CAAC,CAAA;KAC1E;IAED,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE;QACvB,MAAM,IAAI,+BAAgB,CAAC,oBAAoB,EAAE,mBAAmB,EAAE,GAAG,CAAC,CAAA;KAC3E;IAED,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE;QAC5B,MAAM,IAAI,+BAAgB,CAAC,0BAA0B,EAAE,0BAA0B,EAAE,GAAG,CAAC,CAAA;KACxF;AACH,CAAC;AAEQ,4CAAgB"}
1
+ {"version":3,"file":"preCheck.js","sourceRoot":"","sources":["../../../../src/destinations/acoustic-s3tc/receiveEvents/preCheck.ts"],"names":[],"mappings":";;;AAAA,wDAAwD;AAGxD,SAAS,gBAAgB,CAAC,QAAkB;IAC1C,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE;QAC3B,MAAM,IAAI,+BAAgB,CAAC,uBAAuB,EAAE,uBAAuB,EAAE,GAAG,CAAC,CAAA;KAClF;IAED,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE;QACvB,MAAM,IAAI,+BAAgB,CAAC,oBAAoB,EAAE,mBAAmB,EAAE,GAAG,CAAC,CAAA;KAC3E;IAED,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE;QACvB,MAAM,IAAI,+BAAgB,CAAC,mBAAmB,EAAE,mBAAmB,EAAE,GAAG,CAAC,CAAA;KAC1E;IAED,IAAI,CAAC,QAAQ,CAAC,2BAA2B,EAAE;QACzC,MAAM,IAAI,+BAAgB,CAAC,iCAAiC,EAAE,gCAAgC,EAAE,GAAG,CAAC,CAAA;KACrG;IAED,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE;QAC5B,MAAM,IAAI,+BAAgB,CAAC,yBAAyB,EAAE,yBAAyB,EAAE,GAAG,CAAC,CAAA;KACtF;AACH,CAAC;AAEQ,4CAAgB"}
@@ -6,19 +6,25 @@ declare type EventCommon = {
6
6
  eventName: string;
7
7
  index: string;
8
8
  userToken: string;
9
- objectIDs: string[];
10
9
  timestamp?: number;
11
10
  queryID?: string;
12
11
  };
13
12
  export declare type AlgoliaProductViewedEvent = EventCommon & {
14
13
  eventType: 'view';
14
+ objectIDs: string[];
15
15
  };
16
16
  export declare type AlgoliaProductClickedEvent = EventCommon & {
17
17
  eventType: 'click';
18
18
  positions?: number[];
19
+ objectIDs: string[];
20
+ };
21
+ export declare type AlgoliaFilterClickedEvent = EventCommon & {
22
+ eventType: 'click';
23
+ filters: string[];
19
24
  };
20
25
  export declare type AlgoliaConversionEvent = EventCommon & {
21
26
  eventType: 'conversion';
27
+ objectIDs: string[];
22
28
  };
23
29
  export declare type AlgoliaApiPermissions = {
24
30
  acl: string[];
@@ -6,4 +6,7 @@ export interface Payload {
6
6
  queryID?: string;
7
7
  userToken: string;
8
8
  timestamp?: string;
9
+ extraProperties?: {
10
+ [k: string]: unknown;
11
+ };
9
12
  }
@@ -5,11 +5,11 @@ const actions_core_1 = require("@segment/actions-core");
5
5
  const algolia_insight_api_1 = require("../algolia-insight-api");
6
6
  exports.conversionEvents = {
7
7
  title: 'Conversion Events',
8
- description: 'Successful product purcahses which can be tied back to an Algolia Search, Recommend or Predict result',
8
+ description: 'In ecommerce, conversions are purchase events often but not always involving multiple products. Outside of a conversion can be any positive signal associated with an index record. Query ID is optional and indicates that the view events is the result of a search query.',
9
9
  fields: {
10
10
  products: {
11
11
  label: 'Product Details',
12
- description: 'An array of objects representing the purchased items. Each object must contains a product_id field.',
12
+ description: 'Populates the ObjectIds field in the Algolia Insights API. An array of objects representing the purchased items. Each object must contains a product_id field.',
13
13
  type: 'object',
14
14
  multiple: true,
15
15
  properties: { product_id: { label: 'product_id', type: 'string', required: true } },
@@ -55,14 +55,25 @@ exports.conversionEvents = {
55
55
  description: 'The timestamp of the event.',
56
56
  label: 'timestamp',
57
57
  default: { '@path': '$.timestamp' }
58
+ },
59
+ extraProperties: {
60
+ label: 'extraProperties',
61
+ required: false,
62
+ description: 'Additional fields for this event. This field may be useful for Algolia Insights fields which are not mapped in Segment.',
63
+ type: 'object',
64
+ default: {
65
+ '@path': '$.properties'
66
+ }
58
67
  }
59
68
  },
60
69
  defaultSubscription: 'type = "track" and event = "Order Completed"',
61
70
  perform: (request, data) => {
62
71
  const insightEvent = {
63
- ...data.payload,
72
+ ...data.payload.extraProperties,
64
73
  eventName: 'Conversion Event',
65
74
  eventType: 'conversion',
75
+ index: data.payload.index,
76
+ queryID: data.payload.queryID,
66
77
  objectIDs: data.payload.products.map((product) => product.product_id),
67
78
  userToken: data.payload.userToken,
68
79
  timestamp: data.payload.timestamp ? new Date(data.payload.timestamp).valueOf() : undefined
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/algolia-insights/conversionEvents/index.ts"],"names":[],"mappings":";;;AACA,wDAAqD;AACrD,gEAAoF;AAIvE,QAAA,gBAAgB,GAAwC;IACnE,KAAK,EAAE,mBAAmB;IAC1B,WAAW,EAAE,uGAAuG;IACpH,MAAM,EAAE;QACN,QAAQ,EAAE;YACR,KAAK,EAAE,iBAAiB;YACxB,WAAW,EACT,qGAAqG;YACvG,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE;YACnF,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE;gBACP,OAAO,EAAE,uBAAuB;aACjC;SACF;QACD,KAAK,EAAE;YACL,KAAK,EAAE,OAAO;YACd,WAAW,EAAE,oCAAoC;YACjD,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE;gBACP,OAAO,EAAE,2BAA2B;aACrC;SACF;QACD,OAAO,EAAE;YACP,KAAK,EAAE,UAAU;YACjB,WAAW,EAAE,uDAAuD;YACpE,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE;gBACP,OAAO,EAAE,uBAAuB;aACjC;SACF;QACD,SAAS,EAAE;YACT,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,kCAAkC;YAC/C,KAAK,EAAE,WAAW;YAClB,OAAO,EAAE;gBACP,KAAK,EAAE;oBACL,MAAM,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE;oBAC/B,IAAI,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE;oBAC7B,IAAI,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE;iBACnC;aACF;SACF;QACD,SAAS,EAAE;YACT,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,KAAK;YACf,WAAW,EAAE,6BAA6B;YAC1C,KAAK,EAAE,WAAW;YAClB,OAAO,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE;SACpC;KACF;IACD,mBAAmB,EAAE,8CAA8C;IACnE,OAAO,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE;QACzB,MAAM,YAAY,GAA2B;YAC3C,GAAG,IAAI,CAAC,OAAO;YACf,SAAS,EAAE,kBAAkB;YAC7B,SAAS,EAAE,YAAY;YACvB,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC;YACrE,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS;YACjC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS;SAC3F,CAAA;QACD,MAAM,cAAc,GAAG,EAAE,MAAM,EAAE,CAAC,YAAY,CAAC,EAAE,CAAA;QAEjD,OAAO,OAAO,CAAC,yCAAmB,EAAE;YAClC,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,cAAc;SACrB,CAAC,CAAA;IACJ,CAAC;CACF,CAAA;AAGY,QAAA,iBAAiB,GAAW;IACvC,IAAI,EAAE,mCAAmC;IACzC,SAAS,EAAE,wBAAgB,CAAC,mBAA6B;IACzD,aAAa,EAAE,kBAAkB;IACjC,OAAO,EAAE,4BAAa,CAAC,wBAAgB,CAAC,MAAM,CAAC;IAC/C,IAAI,EAAE,WAAW;CAClB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/algolia-insights/conversionEvents/index.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,8 @@ const productClickedEvents_1 = require("./productClickedEvents");
5
5
  const conversionEvents_1 = require("./conversionEvents");
6
6
  const productViewedEvents_1 = require("./productViewedEvents");
7
7
  const algolia_insight_api_1 = require("./algolia-insight-api");
8
+ const productAddedEvents_1 = require("./productAddedEvents");
9
+ const productListFilteredEvents_1 = require("./productListFilteredEvents");
8
10
  exports.ALGOLIA_INSIGHTS_USER_AGENT = 'algolia-segment-action-destination: 0.1';
9
11
  const destination = {
10
12
  name: 'Algolia Insights (Actions)',
@@ -43,11 +45,19 @@ const destination = {
43
45
  }
44
46
  };
45
47
  },
46
- presets: [productClickedEvents_1.productClickPresets, conversionEvents_1.conversionPresets, productViewedEvents_1.productViewedPresets],
48
+ presets: [
49
+ productClickedEvents_1.productClickPresets,
50
+ conversionEvents_1.conversionPresets,
51
+ productViewedEvents_1.productViewedPresets,
52
+ productAddedEvents_1.productAddedPresets,
53
+ productListFilteredEvents_1.productListFilteredPresets
54
+ ],
47
55
  actions: {
48
56
  productClickedEvents: productClickedEvents_1.productClickedEvents,
49
57
  conversionEvents: conversionEvents_1.conversionEvents,
50
- productViewedEvents: productViewedEvents_1.productViewedEvents
58
+ productViewedEvents: productViewedEvents_1.productViewedEvents,
59
+ productAddedEvents: productAddedEvents_1.productAddedEvents,
60
+ productListFilteredEvents: productListFilteredEvents_1.productListFilteredEvents
51
61
  }
52
62
  };
53
63
  exports.default = destination;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/destinations/algolia-insights/index.ts"],"names":[],"mappings":";;;AAGA,iEAAkF;AAElF,yDAAwE;AAExE,+DAAiF;AACjF,+DAAuF;AAE1E,QAAA,2BAA2B,GAAG,yCAAyC,CAAA;AAEpF,MAAM,WAAW,GAAoC;IACnD,IAAI,EAAE,4BAA4B;IAClC,IAAI,EAAE,0BAA0B;IAChC,IAAI,EAAE,OAAO;IAEb,cAAc,EAAE;QACd,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE;YACN,KAAK,EAAE;gBACL,KAAK,EAAE,OAAO;gBACd,WAAW,EAAE,8BAA8B;gBAC3C,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;aACf;YACD,MAAM,EAAE;gBACN,KAAK,EAAE,QAAQ;gBACf,WAAW,EAAE,oEAAoE;gBACjF,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;aACf;SACF;QACD,kBAAkB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;YAClD,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAwB,8CAAwB,CAAC,QAAQ,CAAC,CAAC,CAAA;YAEzF,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE;gBAC9C,OAAO,OAAO,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAA;aAClD;YAED,OAAO,QAAQ,CAAA;QACjB,CAAC;KACF;IAED,aAAa,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;QAC9B,OAAO;YACL,OAAO,EAAE;gBACP,0BAA0B,EAAE,QAAQ,CAAC,KAAK;gBAC1C,mBAAmB,EAAE,QAAQ,CAAC,MAAM;gBACpC,iBAAiB,EAAE,mCAA2B;aAC/C;SACF,CAAA;IACH,CAAC;IAED,OAAO,EAAE,CAAC,0CAAmB,EAAE,oCAAiB,EAAE,0CAAoB,CAAC;IACvE,OAAO,EAAE;QACP,oBAAoB,EAApB,2CAAoB;QACpB,gBAAgB,EAAhB,mCAAgB;QAChB,mBAAmB,EAAnB,yCAAmB;KACpB;CACF,CAAA;AAED,kBAAe,WAAW,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/destinations/algolia-insights/index.ts"],"names":[],"mappings":";;;AAGA,iEAAkF;AAElF,yDAAwE;AAExE,+DAAiF;AACjF,+DAAuF;AAEvF,6DAA8E;AAE9E,2EAAmG;AAEtF,QAAA,2BAA2B,GAAG,yCAAyC,CAAA;AAEpF,MAAM,WAAW,GAAoC;IACnD,IAAI,EAAE,4BAA4B;IAClC,IAAI,EAAE,0BAA0B;IAChC,IAAI,EAAE,OAAO;IAEb,cAAc,EAAE;QACd,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE;YACN,KAAK,EAAE;gBACL,KAAK,EAAE,OAAO;gBACd,WAAW,EAAE,8BAA8B;gBAC3C,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;aACf;YACD,MAAM,EAAE;gBACN,KAAK,EAAE,QAAQ;gBACf,WAAW,EAAE,oEAAoE;gBACjF,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;aACf;SACF;QACD,kBAAkB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;YAClD,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAwB,8CAAwB,CAAC,QAAQ,CAAC,CAAC,CAAA;YAEzF,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE;gBAC9C,OAAO,OAAO,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAA;aAClD;YAED,OAAO,QAAQ,CAAA;QACjB,CAAC;KACF;IAED,aAAa,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;QAC9B,OAAO;YACL,OAAO,EAAE;gBACP,0BAA0B,EAAE,QAAQ,CAAC,KAAK;gBAC1C,mBAAmB,EAAE,QAAQ,CAAC,MAAM;gBACpC,iBAAiB,EAAE,mCAA2B;aAC/C;SACF,CAAA;IACH,CAAC;IAED,OAAO,EAAE;QACP,0CAAmB;QACnB,oCAAiB;QACjB,0CAAoB;QACpB,wCAAmB;QACnB,sDAA0B;KAC3B;IACD,OAAO,EAAE;QACP,oBAAoB,EAApB,2CAAoB;QACpB,gBAAgB,EAAhB,mCAAgB;QAChB,mBAAmB,EAAnB,yCAAmB;QACnB,kBAAkB,EAAlB,uCAAkB;QAClB,yBAAyB,EAAzB,qDAAyB;KAC1B;CACF,CAAA;AAED,kBAAe,WAAW,CAAA"}
@@ -0,0 +1,10 @@
1
+ export interface Payload {
2
+ product: string;
3
+ index: string;
4
+ queryID?: string;
5
+ userToken: string;
6
+ timestamp?: string;
7
+ extraProperties?: {
8
+ [k: string]: unknown;
9
+ };
10
+ }
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=audienceEnteredSFTP.types.js.map
3
+ //# sourceMappingURL=generated-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generated-types.js","sourceRoot":"","sources":["../../../../src/destinations/algolia-insights/productAddedEvents/generated-types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ import type { ActionDefinition, Preset } from '@segment/actions-core';
2
+ import type { Settings } from '../generated-types';
3
+ import type { Payload } from './generated-types';
4
+ export declare const productAddedEvents: ActionDefinition<Settings, Payload>;
5
+ export declare const productAddedPresets: Preset;
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.productAddedPresets = exports.productAddedEvents = void 0;
4
+ const actions_core_1 = require("@segment/actions-core");
5
+ const algolia_insight_api_1 = require("../algolia-insight-api");
6
+ exports.productAddedEvents = {
7
+ title: 'Product Added Events',
8
+ description: 'Product added events for ecommerce use cases for a customer adding an item to their cart. Query ID is optional and indicates that the event was the result of a search query.',
9
+ fields: {
10
+ product: {
11
+ label: 'Product ID',
12
+ description: 'Populates the ObjectIds field in the Algolia Insights API with a single ObjectId (productId) of the product added.',
13
+ type: 'string',
14
+ required: true,
15
+ default: {
16
+ '@path': '$.properties.product_id'
17
+ }
18
+ },
19
+ index: {
20
+ label: 'Index',
21
+ description: 'Name of the targeted search index.',
22
+ type: 'string',
23
+ required: true,
24
+ default: {
25
+ '@path': '$.properties.search_index'
26
+ }
27
+ },
28
+ queryID: {
29
+ label: 'Query ID',
30
+ description: 'Query ID of the list on which the item was purchased.',
31
+ type: 'string',
32
+ required: false,
33
+ default: {
34
+ '@path': '$.properties.query_id'
35
+ }
36
+ },
37
+ userToken: {
38
+ type: 'string',
39
+ required: true,
40
+ description: 'The ID associated with the user.',
41
+ label: 'userToken',
42
+ default: {
43
+ '@if': {
44
+ exists: { '@path': '$.userId' },
45
+ then: { '@path': '$.userId' },
46
+ else: { '@path': '$.anonymousId' }
47
+ }
48
+ }
49
+ },
50
+ timestamp: {
51
+ type: 'string',
52
+ required: false,
53
+ description: 'The timestamp of the event.',
54
+ label: 'timestamp',
55
+ default: { '@path': '$.timestamp' }
56
+ },
57
+ extraProperties: {
58
+ label: 'extraProperties',
59
+ required: false,
60
+ description: 'Additional fields for this event. This field may be useful for Algolia Insights fields which are not mapped in Segment.',
61
+ type: 'object',
62
+ default: {
63
+ '@path': '$.properties'
64
+ }
65
+ }
66
+ },
67
+ defaultSubscription: 'type = "track" and event = "Product Added"',
68
+ perform: (request, data) => {
69
+ const insightEvent = {
70
+ ...data.payload.extraProperties,
71
+ eventName: 'Add to cart',
72
+ eventType: 'conversion',
73
+ index: data.payload.index,
74
+ queryID: data.payload.queryID,
75
+ objectIDs: [data.payload.product],
76
+ userToken: data.payload.userToken,
77
+ timestamp: data.payload.timestamp ? new Date(data.payload.timestamp).valueOf() : undefined
78
+ };
79
+ const insightPayload = { events: [insightEvent] };
80
+ return request(algolia_insight_api_1.AlgoliaBehaviourURL, {
81
+ method: 'post',
82
+ json: insightPayload
83
+ });
84
+ }
85
+ };
86
+ exports.productAddedPresets = {
87
+ name: 'Send product added events to Algolia',
88
+ subscribe: exports.productAddedEvents.defaultSubscription,
89
+ partnerAction: 'productAddedEvents',
90
+ mapping: actions_core_1.defaultValues(exports.productAddedEvents.fields),
91
+ type: 'automatic'
92
+ };
93
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/algolia-insights/productAddedEvents/index.ts"],"names":[],"mappings":";;;AACA,wDAAqD;AAGrD,gEAAoF;AAEvE,QAAA,kBAAkB,GAAwC;IACrE,KAAK,EAAE,sBAAsB;IAC7B,WAAW,EACT,+KAA+K;IACjL,MAAM,EAAE;QACN,OAAO,EAAE;YACP,KAAK,EAAE,YAAY;YACnB,WAAW,EACT,oHAAoH;YACtH,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE;gBACP,OAAO,EAAE,yBAAyB;aACnC;SACF;QACD,KAAK,EAAE;YACL,KAAK,EAAE,OAAO;YACd,WAAW,EAAE,oCAAoC;YACjD,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE;gBACP,OAAO,EAAE,2BAA2B;aACrC;SACF;QACD,OAAO,EAAE;YACP,KAAK,EAAE,UAAU;YACjB,WAAW,EAAE,uDAAuD;YACpE,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE;gBACP,OAAO,EAAE,uBAAuB;aACjC;SACF;QACD,SAAS,EAAE;YACT,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,kCAAkC;YAC/C,KAAK,EAAE,WAAW;YAClB,OAAO,EAAE;gBACP,KAAK,EAAE;oBACL,MAAM,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE;oBAC/B,IAAI,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE;oBAC7B,IAAI,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE;iBACnC;aACF;SACF;QACD,SAAS,EAAE;YACT,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,KAAK;YACf,WAAW,EAAE,6BAA6B;YAC1C,KAAK,EAAE,WAAW;YAClB,OAAO,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE;SACpC;QACD,eAAe,EAAE;YACf,KAAK,EAAE,iBAAiB;YACxB,QAAQ,EAAE,KAAK;YACf,WAAW,EACT,yHAAyH;YAC3H,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE;gBACP,OAAO,EAAE,cAAc;aACxB;SACF;KACF;IACD,mBAAmB,EAAE,4CAA4C;IACjE,OAAO,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE;QACzB,MAAM,YAAY,GAA2B;YAC3C,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe;YAC/B,SAAS,EAAE,aAAa;YACxB,SAAS,EAAE,YAAY;YACvB,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK;YACzB,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO;YAC7B,SAAS,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;YACjC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS;YACjC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS;SAC3F,CAAA;QACD,MAAM,cAAc,GAAG,EAAE,MAAM,EAAE,CAAC,YAAY,CAAC,EAAE,CAAA;QAEjD,OAAO,OAAO,CAAC,yCAAmB,EAAE;YAClC,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,cAAc;SACrB,CAAC,CAAA;IACJ,CAAC;CACF,CAAA;AAEY,QAAA,mBAAmB,GAAW;IACzC,IAAI,EAAE,sCAAsC;IAC5C,SAAS,EAAE,0BAAkB,CAAC,mBAA6B;IAC3D,aAAa,EAAE,oBAAoB;IACnC,OAAO,EAAE,4BAAa,CAAC,0BAAkB,CAAC,MAAM,CAAC;IACjD,IAAI,EAAE,WAAW;CAClB,CAAA"}
@@ -5,4 +5,7 @@ export interface Payload {
5
5
  position?: number;
6
6
  userToken: string;
7
7
  timestamp?: string;
8
+ extraProperties?: {
9
+ [k: string]: unknown;
10
+ };
8
11
  }
@@ -9,7 +9,7 @@ exports.productClickedEvents = {
9
9
  fields: {
10
10
  objectID: {
11
11
  label: 'Product ID',
12
- description: 'Product ID of the clicked item.',
12
+ description: 'Populates the ObjectIds field in the Algolia Insights API. Product ID of the clicked item.',
13
13
  type: 'string',
14
14
  required: true,
15
15
  default: {
@@ -62,14 +62,25 @@ exports.productClickedEvents = {
62
62
  description: 'The timestamp of the event.',
63
63
  label: 'timestamp',
64
64
  default: { '@path': '$.timestamp' }
65
+ },
66
+ extraProperties: {
67
+ label: 'extraProperties',
68
+ required: false,
69
+ description: 'Additional fields for this event. This field may be useful for Algolia Insights fields which are not mapped in Segment.',
70
+ type: 'object',
71
+ default: {
72
+ '@path': '$.properties'
73
+ }
65
74
  }
66
75
  },
67
76
  defaultSubscription: 'type = "track" and event = "Product Clicked"',
68
77
  perform: (request, data) => {
69
78
  const insightEvent = {
70
- ...data.payload,
79
+ ...data.payload.extraProperties,
71
80
  eventName: 'Product Clicked',
72
81
  eventType: 'click',
82
+ index: data.payload.index,
83
+ queryID: data.payload.queryID,
73
84
  objectIDs: [data.payload.objectID],
74
85
  userToken: data.payload.userToken,
75
86
  positions: data.payload.position ? [data.payload.position] : undefined,