@segment/action-destinations 3.228.0 → 3.228.1-staging.1

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 (95) hide show
  1. package/dist/destinations/blackbaud-raisers-edge-nxt/utils/index.d.ts +1 -1
  2. package/dist/destinations/braze/trackEvent/index.js +1 -1
  3. package/dist/destinations/braze/trackEvent/index.js.map +1 -1
  4. package/dist/destinations/braze/trackPurchase/generated-types.d.ts +1 -0
  5. package/dist/destinations/braze/trackPurchase/index.js +9 -0
  6. package/dist/destinations/braze/trackPurchase/index.js.map +1 -1
  7. package/dist/destinations/braze/updateUserProfile/__snapshots__/snapshot.test.d.ts +1 -0
  8. package/dist/destinations/braze/updateUserProfile/__snapshots__/snapshot.test.js +184 -0
  9. package/dist/destinations/braze/updateUserProfile/__snapshots__/snapshot.test.js.map +1 -0
  10. package/dist/destinations/braze/updateUserProfile/generated-types.d.ts +1 -0
  11. package/dist/destinations/braze/updateUserProfile/index.js +11 -88
  12. package/dist/destinations/braze/updateUserProfile/index.js.map +1 -1
  13. package/dist/destinations/braze/utils.d.ts +4 -0
  14. package/dist/destinations/braze/utils.js +171 -1
  15. package/dist/destinations/braze/utils.js.map +1 -1
  16. package/dist/destinations/engage/utils/track.d.ts +9 -9
  17. package/dist/destinations/klaviyo/addProfileToList/generated-types.d.ts +4 -0
  18. package/dist/destinations/klaviyo/addProfileToList/generated-types.js +3 -0
  19. package/dist/destinations/klaviyo/addProfileToList/generated-types.js.map +1 -0
  20. package/dist/destinations/klaviyo/addProfileToList/index.d.ts +5 -0
  21. package/dist/destinations/klaviyo/addProfileToList/index.js +48 -0
  22. package/dist/destinations/klaviyo/addProfileToList/index.js.map +1 -0
  23. package/dist/destinations/klaviyo/functions.d.ts +7 -0
  24. package/dist/destinations/klaviyo/functions.js +91 -0
  25. package/dist/destinations/klaviyo/functions.js.map +1 -0
  26. package/dist/destinations/klaviyo/index.d.ts +2 -2
  27. package/dist/destinations/klaviyo/index.js +63 -1
  28. package/dist/destinations/klaviyo/index.js.map +1 -1
  29. package/dist/destinations/klaviyo/properties.d.ts +3 -0
  30. package/dist/destinations/klaviyo/properties.js +21 -0
  31. package/dist/destinations/klaviyo/properties.js.map +1 -0
  32. package/dist/destinations/klaviyo/removeProfileToList/generated-types.d.ts +4 -0
  33. package/dist/destinations/klaviyo/removeProfileToList/generated-types.js +3 -0
  34. package/dist/destinations/klaviyo/removeProfileToList/generated-types.js.map +1 -0
  35. package/dist/destinations/klaviyo/removeProfileToList/index.d.ts +5 -0
  36. package/dist/destinations/klaviyo/removeProfileToList/index.js +43 -0
  37. package/dist/destinations/klaviyo/removeProfileToList/index.js.map +1 -0
  38. package/dist/destinations/klaviyo/types.d.ts +20 -0
  39. package/dist/destinations/klaviyo/types.js.map +1 -1
  40. package/dist/destinations/klaviyo/upsertProfile/generated-types.d.ts +1 -0
  41. package/dist/destinations/klaviyo/upsertProfile/index.js +16 -1
  42. package/dist/destinations/klaviyo/upsertProfile/index.js.map +1 -1
  43. package/dist/destinations/linkedin-conversions/api/api.test.d.ts +1 -0
  44. package/dist/destinations/linkedin-conversions/api/api.test.js +220 -0
  45. package/dist/destinations/linkedin-conversions/api/api.test.js.map +1 -0
  46. package/dist/destinations/linkedin-conversions/api/index.d.ts +7 -1
  47. package/dist/destinations/linkedin-conversions/api/index.js +141 -0
  48. package/dist/destinations/linkedin-conversions/api/index.js.map +1 -1
  49. package/dist/destinations/linkedin-conversions/constants.d.ts +1 -0
  50. package/dist/destinations/linkedin-conversions/constants.js +7 -1
  51. package/dist/destinations/linkedin-conversions/constants.js.map +1 -1
  52. package/dist/destinations/linkedin-conversions/streamConversion/generated-types.d.ts +33 -0
  53. package/dist/destinations/linkedin-conversions/streamConversion/index.d.ts +2 -2
  54. package/dist/destinations/linkedin-conversions/streamConversion/index.js +247 -6
  55. package/dist/destinations/linkedin-conversions/streamConversion/index.js.map +1 -1
  56. package/dist/destinations/linkedin-conversions/types.d.ts +50 -0
  57. package/dist/destinations/marketo-static-lists/addToList/generated-types.d.ts +5 -0
  58. package/dist/destinations/marketo-static-lists/addToList/index.js +16 -4
  59. package/dist/destinations/marketo-static-lists/addToList/index.js.map +1 -1
  60. package/dist/destinations/marketo-static-lists/constants.d.ts +38 -2
  61. package/dist/destinations/marketo-static-lists/constants.js +5 -1
  62. package/dist/destinations/marketo-static-lists/constants.js.map +1 -1
  63. package/dist/destinations/marketo-static-lists/functions.d.ts +7 -0
  64. package/dist/destinations/marketo-static-lists/functions.js +71 -0
  65. package/dist/destinations/marketo-static-lists/functions.js.map +1 -0
  66. package/dist/destinations/marketo-static-lists/index.js.map +1 -1
  67. package/dist/destinations/marketo-static-lists/properties.d.ts +6 -0
  68. package/dist/destinations/marketo-static-lists/properties.js +49 -0
  69. package/dist/destinations/marketo-static-lists/properties.js.map +1 -0
  70. package/dist/destinations/marketo-static-lists/removeFromList/generated-types.d.ts +5 -0
  71. package/dist/destinations/marketo-static-lists/removeFromList/index.js +17 -5
  72. package/dist/destinations/marketo-static-lists/removeFromList/index.js.map +1 -1
  73. package/dist/destinations/mixpanel/utils.d.ts +13 -0
  74. package/dist/destinations/mixpanel/utils.js +117 -0
  75. package/dist/destinations/mixpanel/utils.js.map +1 -0
  76. package/dist/destinations/snap-conversions-api/index.js +7 -0
  77. package/dist/destinations/snap-conversions-api/index.js.map +1 -1
  78. package/dist/destinations/webhook-audiences/index.js +2 -1
  79. package/dist/destinations/webhook-audiences/index.js.map +1 -1
  80. package/dist/destinations/yahoo-audiences/createCustomerNode/generated-types.d.ts +4 -0
  81. package/dist/destinations/yahoo-audiences/createCustomerNode/generated-types.js +3 -0
  82. package/dist/destinations/yahoo-audiences/createCustomerNode/generated-types.js.map +1 -0
  83. package/dist/destinations/yahoo-audiences/createCustomerNode/index.d.ts +5 -0
  84. package/dist/destinations/yahoo-audiences/createCustomerNode/index.js +26 -0
  85. package/dist/destinations/yahoo-audiences/createCustomerNode/index.js.map +1 -0
  86. package/dist/destinations/yahoo-audiences/createSegment/generated-types.d.ts +6 -0
  87. package/dist/destinations/yahoo-audiences/createSegment/generated-types.js +3 -0
  88. package/dist/destinations/yahoo-audiences/createSegment/generated-types.js.map +1 -0
  89. package/dist/destinations/yahoo-audiences/createSegment/index.d.ts +5 -0
  90. package/dist/destinations/yahoo-audiences/createSegment/index.js +38 -0
  91. package/dist/destinations/yahoo-audiences/createSegment/index.js.map +1 -0
  92. package/dist/destinations/yahoo-audiences/utils.d.ts +4 -0
  93. package/dist/destinations/yahoo-audiences/utils.js +30 -0
  94. package/dist/destinations/yahoo-audiences/utils.js.map +1 -0
  95. package/package.json +2 -2
@@ -9,7 +9,7 @@ export declare const dateStringToFuzzyDate: (dateString: string | number) => fal
9
9
  y: string;
10
10
  };
11
11
  export declare const augmentFieldsWithConstituentFields: (fields: Record<string, InputField>) => Record<string, InputField>;
12
- export declare const splitConstituentPayload: (payload: CreateOrUpdateIndividualConstituentPayload) => (Partial<Constituent> | Partial<Address> | Partial<OnlinePresence> | Partial<Phone>)[];
12
+ export declare const splitConstituentPayload: (payload: CreateOrUpdateIndividualConstituentPayload) => (Partial<Phone> | Partial<Constituent> | Partial<Address> | Partial<OnlinePresence>)[];
13
13
  export declare const buildConstituentPayloadFromPayload: (payload: StringIndexedObject) => Partial<CreateOrUpdateIndividualConstituentPayload>;
14
14
  export declare const buildGiftDataFromPayload: (constituentId: string, payload: CreateGiftPayload) => Partial<Gift>;
15
15
  export declare const buildConstituentActionDataFromPayload: (constituentId: string, payload: CreateConstituentAction) => Partial<ConstituentAction>;
@@ -74,7 +74,7 @@ const action = {
74
74
  type: 'boolean',
75
75
  label: 'Batch Data to Braze',
76
76
  description: 'If true, Segment will batch events before sending to Braze’s user track endpoint. Braze accepts batches of up to 75 events.',
77
- default: false
77
+ default: true
78
78
  }
79
79
  },
80
80
  perform: (request, { settings, payload }) => {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/braze/trackEvent/index.ts"],"names":[],"mappings":";;AAGA,oCAAgE;AAEhE,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,aAAa;IACpB,WAAW,EAAE,+BAA+B;IAC5C,mBAAmB,EAAE,+CAA+C;IACpE,MAAM,EAAE;QACN,WAAW,EAAE;YACX,KAAK,EAAE,kBAAkB;YACzB,WAAW,EAAE,4BAA4B;YACzC,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE;gBACP,OAAO,EAAE,UAAU;aACpB;SACF;QACD,UAAU,EAAE;YACV,KAAK,EAAE,mBAAmB;YAC1B,WAAW,EACT,yGAAyG;YAC3G,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,UAAU,EAAE;oBACV,KAAK,EAAE,YAAY;oBACnB,IAAI,EAAE,QAAQ;iBACf;gBACD,WAAW,EAAE;oBACX,KAAK,EAAE,aAAa;oBACpB,IAAI,EAAE,QAAQ;iBACf;aACF;SACF;QACD,QAAQ,EAAE;YACR,KAAK,EAAE,uBAAuB;YAC9B,WAAW,EAAE,4BAA4B;YACzC,IAAI,EAAE,QAAQ;YACd,SAAS,EAAE,IAAI;YACf,OAAO,EAAE;gBACP,OAAO,EAAE,uBAAuB;aACjC;SACF;QACD,IAAI,EAAE;YACJ,KAAK,EAAE,YAAY;YACnB,WAAW,EAAE,gBAAgB;YAC7B,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE;gBACP,OAAO,EAAE,SAAS;aACnB;SACF;QACD,IAAI,EAAE;YACJ,KAAK,EAAE,MAAM;YACb,WAAW,EAAE,0BAA0B;YACvC,IAAI,EAAE,UAAU;YAChB,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE;gBACP,OAAO,EAAE,cAAc;aACxB;SACF;QACD,UAAU,EAAE;YACV,KAAK,EAAE,kBAAkB;YACzB,WAAW,EAAE,yBAAyB;YACtC,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE;gBACP,OAAO,EAAE,cAAc;aACxB;SACF;QACD,qBAAqB,EAAE;YACrB,KAAK,EAAE,sBAAsB;YAC7B,WAAW,EACT,iIAAiI;YACnI,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,KAAK;SACf;QACD,eAAe,EAAE;YACf,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,qBAAqB;YAC5B,WAAW,EACT,6HAA6H;YAC/H,OAAO,EAAE,KAAK;SACf;KACF;IACD,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;QAC1C,OAAO,sBAAc,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;IACnD,CAAC;IACD,YAAY,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;QAC/C,OAAO,6BAAqB,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;IAC1D,CAAC;CACF,CAAA;AAED,kBAAe,MAAM,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/braze/trackEvent/index.ts"],"names":[],"mappings":";;AAGA,oCAAgE;AAEhE,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,aAAa;IACpB,WAAW,EAAE,+BAA+B;IAC5C,mBAAmB,EAAE,+CAA+C;IACpE,MAAM,EAAE;QACN,WAAW,EAAE;YACX,KAAK,EAAE,kBAAkB;YACzB,WAAW,EAAE,4BAA4B;YACzC,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE;gBACP,OAAO,EAAE,UAAU;aACpB;SACF;QACD,UAAU,EAAE;YACV,KAAK,EAAE,mBAAmB;YAC1B,WAAW,EACT,yGAAyG;YAC3G,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,UAAU,EAAE;oBACV,KAAK,EAAE,YAAY;oBACnB,IAAI,EAAE,QAAQ;iBACf;gBACD,WAAW,EAAE;oBACX,KAAK,EAAE,aAAa;oBACpB,IAAI,EAAE,QAAQ;iBACf;aACF;SACF;QACD,QAAQ,EAAE;YACR,KAAK,EAAE,uBAAuB;YAC9B,WAAW,EAAE,4BAA4B;YACzC,IAAI,EAAE,QAAQ;YACd,SAAS,EAAE,IAAI;YACf,OAAO,EAAE;gBACP,OAAO,EAAE,uBAAuB;aACjC;SACF;QACD,IAAI,EAAE;YACJ,KAAK,EAAE,YAAY;YACnB,WAAW,EAAE,gBAAgB;YAC7B,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE;gBACP,OAAO,EAAE,SAAS;aACnB;SACF;QACD,IAAI,EAAE;YACJ,KAAK,EAAE,MAAM;YACb,WAAW,EAAE,0BAA0B;YACvC,IAAI,EAAE,UAAU;YAChB,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE;gBACP,OAAO,EAAE,cAAc;aACxB;SACF;QACD,UAAU,EAAE;YACV,KAAK,EAAE,kBAAkB;YACzB,WAAW,EAAE,yBAAyB;YACtC,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE;gBACP,OAAO,EAAE,cAAc;aACxB;SACF;QACD,qBAAqB,EAAE;YACrB,KAAK,EAAE,sBAAsB;YAC7B,WAAW,EACT,iIAAiI;YACnI,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,KAAK;SACf;QACD,eAAe,EAAE;YACf,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,qBAAqB;YAC5B,WAAW,EACT,6HAA6H;YAC/H,OAAO,EAAE,IAAI;SACd;KACF;IACD,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;QAC1C,OAAO,sBAAc,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;IACnD,CAAC;IACD,YAAY,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;QAC/C,OAAO,6BAAqB,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;IAC1D,CAAC;CACF,CAAA;AAED,kBAAe,MAAM,CAAA"}
@@ -17,4 +17,5 @@ export interface Payload {
17
17
  [k: string]: unknown;
18
18
  };
19
19
  _update_existing_only?: boolean;
20
+ enable_batching?: boolean;
20
21
  }
@@ -91,10 +91,19 @@ const action = {
91
91
  description: 'Setting this flag to true will put the API in "Update Only" mode. When using a "user_alias", "Update Only" mode is always true.',
92
92
  type: 'boolean',
93
93
  default: false
94
+ },
95
+ enable_batching: {
96
+ type: 'boolean',
97
+ label: 'Batch Data to Braze',
98
+ description: 'If true, Segment will batch events before sending to Braze’s user track endpoint. Braze accepts batches of up to 75 events.',
99
+ default: true
94
100
  }
95
101
  },
96
102
  perform: (request, { settings, payload }) => {
97
103
  return utils_1.sendTrackPurchase(request, settings, payload);
104
+ },
105
+ performBatch: (request, { settings, payload }) => {
106
+ return utils_1.sendBatchedTrackPurchase(request, settings, payload);
98
107
  }
99
108
  };
100
109
  exports.default = action;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/braze/trackPurchase/index.ts"],"names":[],"mappings":";;AAGA,oCAA4C;AAE5C,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,gBAAgB;IACvB,WAAW,EAAE,2BAA2B;IACxC,mBAAmB,EAAE,2BAA2B;IAChD,MAAM,EAAE;QACN,WAAW,EAAE;YACX,KAAK,EAAE,kBAAkB;YACzB,WAAW,EAAE,4BAA4B;YACzC,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE;gBACP,OAAO,EAAE,UAAU;aACpB;SACF;QACD,UAAU,EAAE;YACV,KAAK,EAAE,mBAAmB;YAC1B,WAAW,EACT,yGAAyG;YAC3G,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,UAAU,EAAE;oBACV,KAAK,EAAE,YAAY;oBACnB,IAAI,EAAE,QAAQ;iBACf;gBACD,WAAW,EAAE;oBACX,KAAK,EAAE,aAAa;oBACpB,IAAI,EAAE,QAAQ;iBACf;aACF;SACF;QACD,QAAQ,EAAE;YACR,KAAK,EAAE,uBAAuB;YAC9B,WAAW,EAAE,4BAA4B;YACzC,IAAI,EAAE,QAAQ;YACd,SAAS,EAAE,IAAI;YACf,OAAO,EAAE;gBACP,OAAO,EAAE,uBAAuB;aACjC;SACF;QACD,IAAI,EAAE;YACJ,KAAK,EAAE,MAAM;YACb,WAAW,EAAE,0BAA0B;YACvC,IAAI,EAAE,UAAU;YAChB,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE;gBACP,OAAO,EAAE,cAAc;aACxB;SACF;QACD,QAAQ,EAAE;YACR,KAAK,EAAE,UAAU;YACjB,WAAW,EAAE,oBAAoB;YACjC,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,IAAI;YACd,oBAAoB,EAAE,IAAI;YAC1B,UAAU,EAAE;gBACV,UAAU,EAAE;oBACV,KAAK,EAAE,YAAY;oBACnB,IAAI,EAAE,QAAQ;oBACd,QAAQ,EAAE,IAAI;iBACf;gBACD,QAAQ,EAAE;oBACR,KAAK,EAAE,UAAU;oBACjB,IAAI,EAAE,QAAQ;iBACf;gBACD,KAAK,EAAE;oBACL,KAAK,EAAE,OAAO;oBACd,IAAI,EAAE,QAAQ;oBACd,QAAQ,EAAE,IAAI;iBACf;gBACD,QAAQ,EAAE;oBACR,KAAK,EAAE,UAAU;oBACjB,IAAI,EAAE,SAAS;iBAChB;aACF;YACD,OAAO,EAAE;gBACP,OAAO,EAAE,uBAAuB;aACjC;SACF;QACD,UAAU,EAAE;YACV,KAAK,EAAE,kBAAkB;YACzB,WAAW,EAAE,yBAAyB;YACtC,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE;gBACP,OAAO,EAAE,cAAc;aACxB;SACF;QACD,qBAAqB,EAAE;YACrB,KAAK,EAAE,sBAAsB;YAC7B,WAAW,EACT,iIAAiI;YACnI,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,KAAK;SACf;KACF;IACD,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;QAC1C,OAAO,yBAAiB,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;IACtD,CAAC;CACF,CAAA;AAED,kBAAe,MAAM,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/braze/trackPurchase/index.ts"],"names":[],"mappings":";;AAGA,oCAAsE;AAEtE,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,gBAAgB;IACvB,WAAW,EAAE,2BAA2B;IACxC,mBAAmB,EAAE,2BAA2B;IAChD,MAAM,EAAE;QACN,WAAW,EAAE;YACX,KAAK,EAAE,kBAAkB;YACzB,WAAW,EAAE,4BAA4B;YACzC,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE;gBACP,OAAO,EAAE,UAAU;aACpB;SACF;QACD,UAAU,EAAE;YACV,KAAK,EAAE,mBAAmB;YAC1B,WAAW,EACT,yGAAyG;YAC3G,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,UAAU,EAAE;oBACV,KAAK,EAAE,YAAY;oBACnB,IAAI,EAAE,QAAQ;iBACf;gBACD,WAAW,EAAE;oBACX,KAAK,EAAE,aAAa;oBACpB,IAAI,EAAE,QAAQ;iBACf;aACF;SACF;QACD,QAAQ,EAAE;YACR,KAAK,EAAE,uBAAuB;YAC9B,WAAW,EAAE,4BAA4B;YACzC,IAAI,EAAE,QAAQ;YACd,SAAS,EAAE,IAAI;YACf,OAAO,EAAE;gBACP,OAAO,EAAE,uBAAuB;aACjC;SACF;QACD,IAAI,EAAE;YACJ,KAAK,EAAE,MAAM;YACb,WAAW,EAAE,0BAA0B;YACvC,IAAI,EAAE,UAAU;YAChB,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE;gBACP,OAAO,EAAE,cAAc;aACxB;SACF;QACD,QAAQ,EAAE;YACR,KAAK,EAAE,UAAU;YACjB,WAAW,EAAE,oBAAoB;YACjC,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,IAAI;YACd,oBAAoB,EAAE,IAAI;YAC1B,UAAU,EAAE;gBACV,UAAU,EAAE;oBACV,KAAK,EAAE,YAAY;oBACnB,IAAI,EAAE,QAAQ;oBACd,QAAQ,EAAE,IAAI;iBACf;gBACD,QAAQ,EAAE;oBACR,KAAK,EAAE,UAAU;oBACjB,IAAI,EAAE,QAAQ;iBACf;gBACD,KAAK,EAAE;oBACL,KAAK,EAAE,OAAO;oBACd,IAAI,EAAE,QAAQ;oBACd,QAAQ,EAAE,IAAI;iBACf;gBACD,QAAQ,EAAE;oBACR,KAAK,EAAE,UAAU;oBACjB,IAAI,EAAE,SAAS;iBAChB;aACF;YACD,OAAO,EAAE;gBACP,OAAO,EAAE,uBAAuB;aACjC;SACF;QACD,UAAU,EAAE;YACV,KAAK,EAAE,kBAAkB;YACzB,WAAW,EAAE,yBAAyB;YACtC,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE;gBACP,OAAO,EAAE,cAAc;aACxB;SACF;QACD,qBAAqB,EAAE;YACrB,KAAK,EAAE,sBAAsB;YAC7B,WAAW,EACT,iIAAiI;YACnI,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,KAAK;SACf;QACD,eAAe,EAAE;YACf,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,qBAAqB;YAC5B,WAAW,EACT,6HAA6H;YAC/H,OAAO,EAAE,IAAI;SACd;KACF;IACD,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;QAC1C,OAAO,yBAAiB,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;IACtD,CAAC;IACD,YAAY,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;QAC/C,OAAO,gCAAwB,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;IAC7D,CAAC;CACF,CAAA;AAED,kBAAe,MAAM,CAAA"}
@@ -0,0 +1,184 @@
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 test_data_1 = require("../../../../lib/test-data");
8
+ const index_1 = __importDefault(require("../../index"));
9
+ const nock_1 = __importDefault(require("nock"));
10
+ const testDestination = actions_core_1.createTestIntegration(index_1.default);
11
+ const actionSlug = 'updateUserProfile';
12
+ const destinationSlug = 'Braze';
13
+ const seedName = `${destinationSlug}#${actionSlug}`;
14
+ const receivedAt = '2021-08-03T17:40:04.055Z';
15
+ const settings = {
16
+ app_id: 'my-app-id',
17
+ api_key: 'my-api-key',
18
+ endpoint: 'https://rest.iad-01.braze.com'
19
+ };
20
+ describe(`Testing snapshot for ${destinationSlug}'s ${actionSlug} destination action:`, () => {
21
+ it('required fields', async () => {
22
+ const action = index_1.default.actions[actionSlug];
23
+ const [eventData, settingsData] = test_data_1.generateTestData(seedName, index_1.default, action, true);
24
+ nock_1.default(/.*/).persist().get(/.*/).reply(200);
25
+ nock_1.default(/.*/).persist().post(/.*/).reply(200);
26
+ nock_1.default(/.*/).persist().put(/.*/).reply(200);
27
+ const event = actions_core_1.createTestEvent({
28
+ properties: eventData
29
+ });
30
+ const responses = await testDestination.testAction(actionSlug, {
31
+ event: event,
32
+ mapping: event.properties,
33
+ settings: settingsData,
34
+ auth: undefined
35
+ });
36
+ const request = responses[0].request;
37
+ const rawBody = await request.text();
38
+ try {
39
+ const json = JSON.parse(rawBody);
40
+ expect(json).toMatchSnapshot();
41
+ return;
42
+ }
43
+ catch (err) {
44
+ expect(rawBody).toMatchSnapshot();
45
+ }
46
+ expect(request.headers).toMatchSnapshot();
47
+ });
48
+ it('all fields', async () => {
49
+ const action = index_1.default.actions[actionSlug];
50
+ const [eventData, settingsData] = test_data_1.generateTestData(seedName, index_1.default, action, false);
51
+ nock_1.default(/.*/).persist().get(/.*/).reply(200);
52
+ nock_1.default(/.*/).persist().post(/.*/).reply(200);
53
+ nock_1.default(/.*/).persist().put(/.*/).reply(200);
54
+ const event = actions_core_1.createTestEvent({
55
+ properties: eventData
56
+ });
57
+ const responses = await testDestination.testAction(actionSlug, {
58
+ event: event,
59
+ mapping: event.properties,
60
+ settings: settingsData,
61
+ auth: undefined
62
+ });
63
+ const request = responses[0].request;
64
+ const rawBody = await request.text();
65
+ try {
66
+ const json = JSON.parse(rawBody);
67
+ expect(json).toMatchSnapshot();
68
+ return;
69
+ }
70
+ catch (err) {
71
+ expect(rawBody).toMatchSnapshot();
72
+ }
73
+ });
74
+ it('it should work with batched events', async () => {
75
+ nock_1.default('https://rest.iad-01.braze.com').post('/users/track').reply(200, {});
76
+ const events = [
77
+ actions_core_1.createTestEvent({
78
+ event: 'Test Event 1',
79
+ type: 'track',
80
+ receivedAt,
81
+ properties: {}
82
+ }),
83
+ actions_core_1.createTestEvent({
84
+ event: 'Test Event 2',
85
+ type: 'track',
86
+ receivedAt,
87
+ properties: {}
88
+ })
89
+ ];
90
+ const responses = await testDestination.testBatchAction(actionSlug, {
91
+ events,
92
+ useDefaultMappings: true,
93
+ mapping: {
94
+ external_id: {
95
+ '@path': '$.userId'
96
+ },
97
+ user_alias: {},
98
+ braze_id: {
99
+ '@path': '$.properties.braze_id'
100
+ },
101
+ name: {
102
+ '@path': '$.event'
103
+ },
104
+ time: {
105
+ '@path': '$.receivedAt'
106
+ },
107
+ properties: {
108
+ '@path': '$.properties'
109
+ },
110
+ products: {
111
+ '@path': '$.properties.products'
112
+ },
113
+ enable_batching: true,
114
+ _update_existing_only: true
115
+ },
116
+ settings: {
117
+ ...settings
118
+ }
119
+ });
120
+ expect(responses.length).toBe(1);
121
+ expect(responses[0].status).toBe(200);
122
+ expect(responses[0].options.headers).toMatchSnapshot();
123
+ expect(responses[0].options.json).toMatchSnapshot();
124
+ });
125
+ it('it should work with a single batched events', async () => {
126
+ nock_1.default('https://rest.iad-01.braze.com').post('/users/track').reply(200, {});
127
+ const events = [
128
+ actions_core_1.createTestEvent({
129
+ event: 'Test Event 1',
130
+ type: 'track',
131
+ receivedAt,
132
+ properties: {
133
+ products: [
134
+ {
135
+ quantity: 1,
136
+ product_id: 'Bowflex Treadmill 10',
137
+ price: 100
138
+ },
139
+ {
140
+ quantity: 2,
141
+ product_id: 'Bowflex Treadmill 20',
142
+ price: 200
143
+ }
144
+ ]
145
+ }
146
+ })
147
+ ];
148
+ const responses = await testDestination.testBatchAction(actionSlug, {
149
+ events,
150
+ useDefaultMappings: true,
151
+ mapping: {
152
+ external_id: {
153
+ '@path': '$.userId'
154
+ },
155
+ user_alias: {},
156
+ braze_id: {
157
+ '@path': '$.properties.braze_id'
158
+ },
159
+ name: {
160
+ '@path': '$.event'
161
+ },
162
+ time: {
163
+ '@path': '$.receivedAt'
164
+ },
165
+ properties: {
166
+ '@path': '$.properties'
167
+ },
168
+ products: {
169
+ '@path': '$.properties.products'
170
+ },
171
+ enable_batching: true,
172
+ _update_existing_only: true
173
+ },
174
+ settings: {
175
+ ...settings
176
+ }
177
+ });
178
+ expect(responses.length).toBe(1);
179
+ expect(responses[0].status).toBe(200);
180
+ expect(responses[0].options.headers).toMatchSnapshot();
181
+ expect(responses[0].options.json).toMatchSnapshot();
182
+ });
183
+ });
184
+ //# sourceMappingURL=snapshot.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snapshot.test.js","sourceRoot":"","sources":["../../../../../src/destinations/braze/updateUserProfile/__snapshots__/snapshot.test.ts"],"names":[],"mappings":"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"}
@@ -48,4 +48,5 @@ export interface Payload {
48
48
  [k: string]: unknown;
49
49
  };
50
50
  _update_existing_only?: boolean;
51
+ enable_batching?: boolean;
51
52
  }
@@ -1,49 +1,6 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
- const actions_core_1 = require("@segment/actions-core");
7
- const dayjs_1 = __importDefault(require("../../../lib/dayjs"));
8
- const userAlias_1 = require("../userAlias");
9
- function toISO8601(date) {
10
- if (date === null || date === undefined) {
11
- return date;
12
- }
13
- const d = dayjs_1.default(date);
14
- return d.isValid() ? d.toISOString() : undefined;
15
- }
16
- function toDateFormat(date, format) {
17
- if (date === null || date === undefined) {
18
- return date;
19
- }
20
- const d = dayjs_1.default(date);
21
- return d.isValid() ? d.format(format) : undefined;
22
- }
23
- function removeEmpty(obj) {
24
- if (!obj) {
25
- return obj;
26
- }
27
- const cleaned = actions_core_1.removeUndefined(obj);
28
- if (typeof cleaned === 'object' && Object.keys(cleaned).length > 0) {
29
- return cleaned;
30
- }
31
- return undefined;
32
- }
33
- function toBrazeGender(gender) {
34
- if (!gender) {
35
- return gender;
36
- }
37
- const genders = {
38
- M: ['man', 'male', 'm'],
39
- F: ['woman', 'female', 'w', 'f'],
40
- O: ['other', 'o'],
41
- N: ['not applicable', 'n'],
42
- P: ['prefer not to say', 'p']
43
- };
44
- const brazeGender = Object.keys(genders).find((key) => genders[key].includes(gender.toLowerCase()));
45
- return brazeGender || gender;
46
- }
3
+ const utils_1 = require("../utils");
47
4
  const action = {
48
5
  title: 'Update User Profile',
49
6
  description: "Update a user's profile attributes in Braze",
@@ -313,53 +270,19 @@ const action = {
313
270
  description: 'Setting this flag to true will put the API in "Update Only" mode. When using a "user_alias", "Update Only" mode is always true.',
314
271
  type: 'boolean',
315
272
  default: false
273
+ },
274
+ enable_batching: {
275
+ type: 'boolean',
276
+ label: 'Batch Data to Braze',
277
+ description: 'If true, Segment will batch events before sending to Braze’s user track endpoint. Braze accepts batches of up to 75 events.',
278
+ default: true
316
279
  }
317
280
  },
318
281
  perform: (request, { settings, payload }) => {
319
- const { braze_id, external_id } = payload;
320
- const user_alias = userAlias_1.getUserAlias(payload.user_alias);
321
- if (!braze_id && !user_alias && !external_id) {
322
- throw new actions_core_1.IntegrationError('One of "external_id" or "user_alias" or "braze_id" is required.', 'Missing required fields', 400);
323
- }
324
- const reservedKeys = Object.keys(action.fields);
325
- reservedKeys.push('firstName', 'lastName', 'avatar');
326
- const customAttrs = actions_core_1.omit(payload.custom_attributes, reservedKeys);
327
- return request(`${settings.endpoint}/users/track`, {
328
- method: 'post',
329
- json: {
330
- attributes: [
331
- {
332
- ...customAttrs,
333
- braze_id,
334
- external_id,
335
- user_alias,
336
- country: payload.country,
337
- current_location: removeEmpty(payload.current_location),
338
- date_of_first_session: toISO8601(payload.date_of_first_session),
339
- date_of_last_session: toISO8601(payload.date_of_last_session),
340
- dob: toDateFormat(payload.dob, 'YYYY-MM-DD'),
341
- email: payload.email,
342
- email_subscribe: payload.email_subscribe,
343
- email_open_tracking_disabled: payload.email_open_tracking_disabled,
344
- email_click_tracking_disabled: payload.email_click_tracking_disabled,
345
- facebook: payload.facebook,
346
- first_name: payload.first_name,
347
- gender: toBrazeGender(payload.gender),
348
- home_city: payload.home_city,
349
- image_url: payload.image_url,
350
- language: payload.language,
351
- last_name: payload.last_name,
352
- marked_email_as_spam_at: toISO8601(payload.marked_email_as_spam_at),
353
- phone: payload.phone,
354
- push_subscribe: payload.push_subscribe,
355
- push_tokens: payload.push_tokens,
356
- time_zone: payload.time_zone,
357
- twitter: payload.twitter,
358
- _update_existing_only: payload._update_existing_only
359
- }
360
- ]
361
- }
362
- });
282
+ return utils_1.updateUserProfile(request, settings, payload);
283
+ },
284
+ performBatch: (request, { settings, payload }) => {
285
+ return utils_1.updateBatchedUserProfile(request, settings, payload);
363
286
  }
364
287
  };
365
288
  exports.default = action;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/braze/updateUserProfile/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/braze/updateUserProfile/index.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,10 @@ import { RequestClient } from '@segment/actions-core';
2
2
  import { Settings } from './generated-types';
3
3
  import { Payload as TrackEventPayload } from './trackEvent/generated-types';
4
4
  import { Payload as TrackPurchasePayload } from './trackPurchase/generated-types';
5
+ import { Payload as UpdateUserProfilePayload } from './updateUserProfile/generated-types';
5
6
  export declare function sendTrackEvent(request: RequestClient, settings: Settings, payload: TrackEventPayload): Promise<import("@segment/actions-core").ModifiedResponse<unknown>>;
6
7
  export declare function sendBatchedTrackEvent(request: RequestClient, settings: Settings, payloads: TrackEventPayload[]): Promise<import("@segment/actions-core").ModifiedResponse<unknown>>;
7
8
  export declare function sendTrackPurchase(request: RequestClient, settings: Settings, payload: TrackPurchasePayload): Promise<import("@segment/actions-core").ModifiedResponse<unknown>> | undefined;
9
+ export declare function sendBatchedTrackPurchase(request: RequestClient, settings: Settings, payloads: TrackPurchasePayload[]): Promise<import("@segment/actions-core").ModifiedResponse<unknown>>;
10
+ export declare function updateUserProfile(request: RequestClient, settings: Settings, payload: UpdateUserProfilePayload): Promise<import("@segment/actions-core").ModifiedResponse<unknown>>;
11
+ export declare function updateBatchedUserProfile(request: RequestClient, settings: Settings, payloads: UpdateUserProfilePayload[]): Promise<import("@segment/actions-core").ModifiedResponse<unknown>>;
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.sendTrackPurchase = exports.sendBatchedTrackEvent = exports.sendTrackEvent = void 0;
6
+ exports.updateBatchedUserProfile = exports.updateUserProfile = exports.sendBatchedTrackPurchase = exports.sendTrackPurchase = exports.sendBatchedTrackEvent = exports.sendTrackEvent = void 0;
7
7
  const actions_core_1 = require("@segment/actions-core");
8
8
  const actions_core_2 = require("@segment/actions-core");
9
9
  const dayjs_1 = __importDefault(require("dayjs"));
@@ -16,6 +16,37 @@ function toISO8601(date) {
16
16
  const d = dayjs_1.default(date);
17
17
  return d.isValid() ? d.toISOString() : undefined;
18
18
  }
19
+ function toDateFormat(date, format) {
20
+ if (date === null || date === undefined) {
21
+ return date;
22
+ }
23
+ const d = dayjs_1.default(date);
24
+ return d.isValid() ? d.format(format) : undefined;
25
+ }
26
+ function removeEmpty(obj) {
27
+ if (!obj) {
28
+ return obj;
29
+ }
30
+ const cleaned = actions_core_2.removeUndefined(obj);
31
+ if (typeof cleaned === 'object' && Object.keys(cleaned).length > 0) {
32
+ return cleaned;
33
+ }
34
+ return undefined;
35
+ }
36
+ function toBrazeGender(gender) {
37
+ if (!gender) {
38
+ return gender;
39
+ }
40
+ const genders = {
41
+ M: ['man', 'male', 'm'],
42
+ F: ['woman', 'female', 'w', 'f'],
43
+ O: ['other', 'o'],
44
+ N: ['not applicable', 'n'],
45
+ P: ['prefer not to say', 'p']
46
+ };
47
+ const brazeGender = Object.keys(genders).find((key) => genders[key].includes(gender.toLowerCase()));
48
+ return brazeGender || gender;
49
+ }
19
50
  function sendTrackEvent(request, settings, payload) {
20
51
  const { braze_id, external_id } = payload;
21
52
  const user_alias = userAlias_1.getUserAlias(payload.user_alias);
@@ -105,4 +136,143 @@ function sendTrackPurchase(request, settings, payload) {
105
136
  });
106
137
  }
107
138
  exports.sendTrackPurchase = sendTrackPurchase;
139
+ function sendBatchedTrackPurchase(request, settings, payloads) {
140
+ let payload = payloads
141
+ .map((payload) => {
142
+ const { braze_id, external_id } = payload;
143
+ const user_alias = userAlias_1.getUserAlias(payload.user_alias);
144
+ if (payload.products.length === 0) {
145
+ return;
146
+ }
147
+ const base = {
148
+ braze_id,
149
+ external_id,
150
+ user_alias,
151
+ app_id: settings.app_id,
152
+ time: toISO8601(payload.time),
153
+ _update_existing_only: payload._update_existing_only
154
+ };
155
+ const reservedKeys = Object.keys(trackPurchase_1.default.fields.products.properties ?? {});
156
+ const event_properties = actions_core_1.omit(payload.properties, ['products']);
157
+ return payload.products.map(function (product) {
158
+ return {
159
+ ...base,
160
+ product_id: product.product_id,
161
+ currency: product.currency ?? 'USD',
162
+ price: product.price,
163
+ quantity: product.quantity,
164
+ properties: {
165
+ ...actions_core_1.omit(product, reservedKeys),
166
+ ...event_properties
167
+ }
168
+ };
169
+ });
170
+ })
171
+ .filter((notFalsy) => notFalsy);
172
+ payload = [].concat(...payload);
173
+ return request(`${settings.endpoint}/users/track`, {
174
+ method: 'post',
175
+ ...(payload.length > 1 ? { headers: { 'X-Braze-Batch': 'true' } } : undefined),
176
+ json: {
177
+ purchases: payload
178
+ }
179
+ });
180
+ }
181
+ exports.sendBatchedTrackPurchase = sendBatchedTrackPurchase;
182
+ function updateUserProfile(request, settings, payload) {
183
+ const { braze_id, external_id } = payload;
184
+ const user_alias = userAlias_1.getUserAlias(payload.user_alias);
185
+ if (!braze_id && !user_alias && !external_id) {
186
+ throw new actions_core_2.IntegrationError('One of "external_id" or "user_alias" or "braze_id" is required.', 'Missing required fields', 400);
187
+ }
188
+ const reservedKeys = Object.keys(trackPurchase_1.default.fields);
189
+ reservedKeys.push('firstName', 'lastName', 'avatar');
190
+ const customAttrs = actions_core_1.omit(payload.custom_attributes, reservedKeys);
191
+ return request(`${settings.endpoint}/users/track`, {
192
+ method: 'post',
193
+ json: {
194
+ attributes: [
195
+ {
196
+ ...customAttrs,
197
+ braze_id,
198
+ external_id,
199
+ user_alias,
200
+ country: payload.country,
201
+ current_location: removeEmpty(payload.current_location),
202
+ date_of_first_session: toISO8601(payload.date_of_first_session),
203
+ date_of_last_session: toISO8601(payload.date_of_last_session),
204
+ dob: toDateFormat(payload.dob, 'YYYY-MM-DD'),
205
+ email: payload.email,
206
+ email_subscribe: payload.email_subscribe,
207
+ email_open_tracking_disabled: payload.email_open_tracking_disabled,
208
+ email_click_tracking_disabled: payload.email_click_tracking_disabled,
209
+ facebook: payload.facebook,
210
+ first_name: payload.first_name,
211
+ gender: toBrazeGender(payload.gender),
212
+ home_city: payload.home_city,
213
+ image_url: payload.image_url,
214
+ language: payload.language,
215
+ last_name: payload.last_name,
216
+ marked_email_as_spam_at: toISO8601(payload.marked_email_as_spam_at),
217
+ phone: payload.phone,
218
+ push_subscribe: payload.push_subscribe,
219
+ push_tokens: payload.push_tokens,
220
+ time_zone: payload.time_zone,
221
+ twitter: payload.twitter,
222
+ _update_existing_only: payload._update_existing_only
223
+ }
224
+ ]
225
+ }
226
+ });
227
+ }
228
+ exports.updateUserProfile = updateUserProfile;
229
+ function updateBatchedUserProfile(request, settings, payloads) {
230
+ const payload = payloads.map((payload) => {
231
+ const { braze_id, external_id } = payload;
232
+ const user_alias = userAlias_1.getUserAlias(payload.user_alias);
233
+ if (!braze_id && !user_alias && !external_id) {
234
+ throw new actions_core_2.IntegrationError('One of "external_id" or "user_alias" or "braze_id" is required.', 'Missing required fields', 400);
235
+ }
236
+ const reservedKeys = Object.keys(trackPurchase_1.default.fields);
237
+ reservedKeys.push('firstName', 'lastName', 'avatar');
238
+ const customAttrs = actions_core_1.omit(payload.custom_attributes, reservedKeys);
239
+ return {
240
+ ...customAttrs,
241
+ braze_id,
242
+ external_id,
243
+ user_alias,
244
+ country: payload.country,
245
+ current_location: removeEmpty(payload.current_location),
246
+ date_of_first_session: toISO8601(payload.date_of_first_session),
247
+ date_of_last_session: toISO8601(payload.date_of_last_session),
248
+ dob: toDateFormat(payload.dob, 'YYYY-MM-DD'),
249
+ email: payload.email,
250
+ email_subscribe: payload.email_subscribe,
251
+ email_open_tracking_disabled: payload.email_open_tracking_disabled,
252
+ email_click_tracking_disabled: payload.email_click_tracking_disabled,
253
+ facebook: payload.facebook,
254
+ first_name: payload.first_name,
255
+ gender: toBrazeGender(payload.gender),
256
+ home_city: payload.home_city,
257
+ image_url: payload.image_url,
258
+ language: payload.language,
259
+ last_name: payload.last_name,
260
+ marked_email_as_spam_at: toISO8601(payload.marked_email_as_spam_at),
261
+ phone: payload.phone,
262
+ push_subscribe: payload.push_subscribe,
263
+ push_tokens: payload.push_tokens,
264
+ time_zone: payload.time_zone,
265
+ twitter: payload.twitter,
266
+ _update_existing_only: payload._update_existing_only
267
+ };
268
+ });
269
+ return request(`${settings.endpoint}/users/track`, {
270
+ method: 'post',
271
+ ...(payload.length > 1 ? { headers: { 'X-Braze-Batch': 'true' } } : undefined),
272
+ json: {
273
+ attributes: payload
274
+ }
275
+ });
276
+ }
277
+ exports.updateBatchedUserProfile = updateBatchedUserProfile;
108
278
  //# sourceMappingURL=utils.js.map