@segment/action-destinations 3.64.0 → 3.66.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 (39) hide show
  1. package/dist/destinations/braze/index.js +2 -2
  2. package/dist/destinations/braze/index.js.map +1 -1
  3. package/dist/destinations/clevertap/index.js +23 -5
  4. package/dist/destinations/clevertap/index.js.map +1 -1
  5. package/dist/destinations/clevertap/userDelete/index.js +1 -1
  6. package/dist/destinations/clevertap/userDelete/index.js.map +1 -1
  7. package/dist/destinations/clevertap/userUpload/index.js +5 -5
  8. package/dist/destinations/clevertap/userUpload/index.js.map +1 -1
  9. package/dist/destinations/close/createUpdateContactAndLead/index.js +9 -7
  10. package/dist/destinations/close/createUpdateContactAndLead/index.js.map +1 -1
  11. package/dist/destinations/close/index.js +6 -4
  12. package/dist/destinations/close/index.js.map +1 -1
  13. package/dist/destinations/cordial/addContactToList/generated-types.d.ts +3 -2
  14. package/dist/destinations/cordial/addContactToList/index.js +13 -15
  15. package/dist/destinations/cordial/addContactToList/index.js.map +1 -1
  16. package/dist/destinations/cordial/cordial-client.d.ts +8 -28
  17. package/dist/destinations/cordial/cordial-client.js +19 -90
  18. package/dist/destinations/cordial/cordial-client.js.map +1 -1
  19. package/dist/destinations/cordial/createContactactivity/generated-types.d.ts +6 -2
  20. package/dist/destinations/cordial/createContactactivity/index.js +26 -9
  21. package/dist/destinations/cordial/createContactactivity/index.js.map +1 -1
  22. package/dist/destinations/cordial/index.js +6 -9
  23. package/dist/destinations/cordial/index.js.map +1 -1
  24. package/dist/destinations/cordial/removeContactFromList/generated-types.d.ts +3 -3
  25. package/dist/destinations/cordial/removeContactFromList/index.js +9 -22
  26. package/dist/destinations/cordial/removeContactFromList/index.js.map +1 -1
  27. package/dist/destinations/cordial/upsertContact/generated-types.d.ts +3 -2
  28. package/dist/destinations/cordial/upsertContact/index.js +11 -11
  29. package/dist/destinations/cordial/upsertContact/index.js.map +1 -1
  30. package/dist/destinations/talon-one/updateCustomerProfilesAttributes/generated-types.d.ts +6 -4
  31. package/dist/destinations/talon-one/updateCustomerProfilesAttributes/index.js +17 -9
  32. package/dist/destinations/talon-one/updateCustomerProfilesAttributes/index.js.map +1 -1
  33. package/package.json +2 -2
  34. package/dist/destinations/cordial/common-fields.d.ts +0 -2
  35. package/dist/destinations/cordial/common-fields.js +0 -21
  36. package/dist/destinations/cordial/common-fields.js.map +0 -1
  37. package/dist/destinations/cordial/user-identifier.d.ts +0 -5
  38. package/dist/destinations/cordial/user-identifier.js +0 -11
  39. package/dist/destinations/cordial/user-identifier.js.map +0 -1
@@ -49,8 +49,8 @@ const destination = {
49
49
  }
50
50
  }
51
51
  },
52
- onDelete: async (request, { payload }) => {
53
- return request('https://rest.iad-01.braze.com/users/delete', {
52
+ onDelete: async (request, { payload, settings }) => {
53
+ return request(`${settings.endpoint}/users/delete`, {
54
54
  method: 'post',
55
55
  json: {
56
56
  external_ids: [payload.userId]
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/destinations/braze/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/destinations/braze/index.ts"],"names":[],"mappings":"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"}
@@ -5,29 +5,33 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const userUpload_1 = __importDefault(require("./userUpload"));
7
7
  const userDelete_1 = __importDefault(require("./userDelete"));
8
+ const actions_core_1 = require("@segment/actions-core");
8
9
  const destination = {
9
10
  name: 'Clevertap (Actions)',
10
11
  slug: 'actions-clevertap',
11
12
  mode: 'cloud',
12
- description: 'Send events server-side to Clevertap',
13
+ description: 'CleverTap is a customer engagement and retention platform that provides the functionality to integrate app analytics and marketing. The platform helps customers increase user engagement in three ways:' +
14
+ ' 1) Tracks actions users are taking and analyzes how people use the product.' +
15
+ ' 2) [Segment](https://docs.clevertap.com/docs/segments) users based on their actions and run targeted [campaigns](https://docs.clevertap.com/docs/intro-to-campaigns) to these segments.' +
16
+ ' 3) [Analyze](https://docs.clevertap.com/docs/intro-to-reports) each campaign to understand its effect on user engagement and business metrics',
13
17
  authentication: {
14
18
  scheme: 'custom',
15
19
  fields: {
16
20
  clevertapAccountId: {
17
21
  label: 'CleverTap Account ID',
18
- description: 'Your CleverTap Account ID.',
22
+ description: 'CleverTap Account Id. This can be found under [Settings Page](https://developer.clevertap.com/docs/authentication#getting-your-account-credentials).',
19
23
  type: 'string',
20
24
  required: true
21
25
  },
22
26
  clevertapPasscode: {
23
27
  label: 'CleverTap Account Passcode',
24
- description: 'Your CleverTap Account Passcode.',
28
+ description: 'CleverTap Passcode. This can be found under [Settings Page](https://developer.clevertap.com/docs/authentication#getting-your-account-credentials).',
25
29
  type: 'string',
26
30
  required: true
27
31
  },
28
32
  clevertapEndpoint: {
29
33
  label: 'REST Endpoint',
30
- description: 'Your Clevertap REST endpoint. [See more details](https://docs.clevertap.com/docs)',
34
+ description: 'Learn More about [Account regions](https://docs.clevertap.com/docs/build-segment-destination#set-up-segment-destination-action).',
31
35
  type: 'string',
32
36
  format: 'uri',
33
37
  choices: [
@@ -45,7 +49,21 @@ const destination = {
45
49
  actions: {
46
50
  userUpload: userUpload_1.default,
47
51
  userDelete: userDelete_1.default
48
- }
52
+ },
53
+ presets: [
54
+ {
55
+ name: 'Event Name is Delete User',
56
+ subscribe: 'event = "Delete User"',
57
+ partnerAction: 'userDelete',
58
+ mapping: actions_core_1.defaultValues(userDelete_1.default.fields)
59
+ },
60
+ {
61
+ name: 'Event Type is Identify',
62
+ subscribe: 'type = "identify"',
63
+ partnerAction: 'userUpload',
64
+ mapping: actions_core_1.defaultValues(userUpload_1.default.fields)
65
+ }
66
+ ],
49
67
  };
50
68
  exports.default = destination;
51
69
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/destinations/clevertap/index.ts"],"names":[],"mappings":";;;;;AAGA,8DAAqC;AAErC,8DAAqC;AAErC,MAAM,WAAW,GAAoC;IACnD,IAAI,EAAE,qBAAqB;IAC3B,IAAI,EAAE,mBAAmB;IACzB,IAAI,EAAE,OAAO;IACb,WAAW,EAAE,sCAAsC;IACnD,cAAc,EAAE;QACd,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE;YACN,kBAAkB,EAAE;gBAClB,KAAK,EAAE,sBAAsB;gBAC7B,WAAW,EAAE,4BAA4B;gBACzC,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;aACf;YACD,iBAAiB,EAAE;gBACjB,KAAK,EAAE,4BAA4B;gBACnC,WAAW,EAAE,kCAAkC;gBAC/C,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;aACf;YACD,iBAAiB,EAAE;gBACjB,KAAK,EAAE,eAAe;gBACtB,WAAW,EAAE,mFAAmF;gBAChG,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,KAAK;gBACb,OAAO,EAAE;oBACP,EAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,+BAA+B,EAAC;oBACrD,EAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,+BAA+B,EAAC;oBACrD,EAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,+BAA+B,EAAC;oBACrD,EAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,+BAA+B,EAAC;oBACrD,EAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,+BAA+B,EAAC;iBACtD;gBACD,OAAO,EAAE,+BAA+B;gBACxC,QAAQ,EAAE,IAAI;aACf;SACF;KACF;IAED,OAAO,EAAE;QACP,UAAU,EAAV,oBAAU;QACV,UAAU,EAAV,oBAAU;KACX;CACF,CAAA;AAED,kBAAe,WAAW,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/destinations/clevertap/index.ts"],"names":[],"mappings":";;;;;AAGA,8DAAqC;AAErC,8DAAqC;AACrC,wDAAoD;AAEpD,MAAM,WAAW,GAAoC;IACnD,IAAI,EAAE,qBAAqB;IAC3B,IAAI,EAAE,mBAAmB;IACzB,IAAI,EAAE,OAAO;IACb,WAAW,EAAE,0MAA0M;QACrN,8EAA8E;QAC9E,2LAA2L;QAC3L,gJAAgJ;IAClJ,cAAc,EAAE;QACd,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE;YACN,kBAAkB,EAAE;gBAClB,KAAK,EAAE,sBAAsB;gBAC7B,WAAW,EAAE,sJAAsJ;gBACnK,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;aACf;YACD,iBAAiB,EAAE;gBACjB,KAAK,EAAE,4BAA4B;gBACnC,WAAW,EAAE,oJAAoJ;gBACjK,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;aACf;YACD,iBAAiB,EAAE;gBACjB,KAAK,EAAE,eAAe;gBACtB,WAAW,EAAE,kIAAkI;gBAC/I,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,KAAK;gBACb,OAAO,EAAE;oBACP,EAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,+BAA+B,EAAC;oBACrD,EAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,+BAA+B,EAAC;oBACrD,EAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,+BAA+B,EAAC;oBACrD,EAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,+BAA+B,EAAC;oBACrD,EAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,+BAA+B,EAAC;iBACtD;gBACD,OAAO,EAAE,+BAA+B;gBACxC,QAAQ,EAAE,IAAI;aACf;SACF;KACF;IAED,OAAO,EAAE;QACP,UAAU,EAAV,oBAAU;QACV,UAAU,EAAV,oBAAU;KACX;IACD,OAAO,EAAE;QACP;YACE,IAAI,EAAE,2BAA2B;YACjC,SAAS,EAAE,uBAAuB;YAClC,aAAa,EAAE,YAAY;YAC3B,OAAO,EAAE,4BAAa,CAAC,oBAAU,CAAC,MAAM,CAAC;SAC1C;QACD;YACE,IAAI,EAAE,wBAAwB;YAC9B,SAAS,EAAE,mBAAmB;YAC9B,aAAa,EAAE,YAAY;YAC3B,OAAO,EAAE,4BAAa,CAAC,oBAAU,CAAC,MAAM,CAAC;SAC1C;KACF;CACF,CAAA;AAED,kBAAe,WAAW,CAAA"}
@@ -7,7 +7,7 @@ const action = {
7
7
  identity: {
8
8
  label: 'Identity',
9
9
  type: 'string',
10
- description: 'Identity',
10
+ description: 'The ID used to uniquely identify a person in CleverTap',
11
11
  default: { '@path': '$.userId' },
12
12
  required: true
13
13
  },
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/clevertap/userDelete/index.ts"],"names":[],"mappings":";;AAKA,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,aAAa;IACpB,WAAW,EAAE,0EAA0E;IACvF,MAAM,EAAE;QACN,QAAQ,EAAE;YACR,KAAK,EAAE,UAAU;YACjB,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,UAAU;YACvB,OAAO,EAAE,EAAC,OAAO,EAAE,UAAU,EAAC;YAC9B,QAAQ,EAAE,IAAI;SACf;KACF;IACD,OAAO,EAAE,CAAC,OAAO,EAAE,EAAC,QAAQ,EAAE,OAAO,EAAC,EAAE,EAAE;QACxC,MAAM,KAAK,GAAgB;YACzB,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC3B,CAAA;QACD,OAAO,OAAO,CAAC,GAAG,QAAQ,CAAC,iBAAiB,yBAAyB,EAAE;YACrE,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,KAAK;YACX,OAAO,EAAE;gBACP,wBAAwB,EAAE,GAAG,QAAQ,CAAC,kBAAkB,EAAE;gBAC1D,sBAAsB,EAAE,GAAG,QAAQ,CAAC,iBAAiB,EAAE;aACxD;SACF,CAAC,CAAA;IACJ,CAAC;CACF,CAAA;AAED,kBAAe,MAAM,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/clevertap/userDelete/index.ts"],"names":[],"mappings":";;AAKA,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,aAAa;IACpB,WAAW,EAAE,0EAA0E;IACvF,MAAM,EAAE;QACN,QAAQ,EAAE;YACR,KAAK,EAAE,UAAU;YACjB,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,wDAAwD;YACrE,OAAO,EAAE,EAAC,OAAO,EAAE,UAAU,EAAC;YAC9B,QAAQ,EAAE,IAAI;SACf;KACF;IACD,OAAO,EAAE,CAAC,OAAO,EAAE,EAAC,QAAQ,EAAE,OAAO,EAAC,EAAE,EAAE;QACxC,MAAM,KAAK,GAAgB;YACzB,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC3B,CAAA;QACD,OAAO,OAAO,CAAC,GAAG,QAAQ,CAAC,iBAAiB,yBAAyB,EAAE;YACrE,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,KAAK;YACX,OAAO,EAAE;gBACP,wBAAwB,EAAE,GAAG,QAAQ,CAAC,kBAAkB,EAAE;gBAC1D,sBAAsB,EAAE,GAAG,QAAQ,CAAC,iBAAiB,EAAE;aACxD;SACF,CAAC,CAAA;IACJ,CAAC;CACF,CAAA;AAED,kBAAe,MAAM,CAAA"}
@@ -7,21 +7,21 @@ const action = {
7
7
  description: 'The User Upload Action enables you to create or update user profiles in CleverTap.',
8
8
  fields: {
9
9
  ts: {
10
- label: 'Timestamp',
10
+ label: 'Created At',
11
11
  type: 'string',
12
- description: 'The timestamp of the event. If time is not sent with the event, it will be set to the request upload time.',
12
+ description: 'A timestamp when the person was created',
13
13
  default: { '@path': '$.timestamp' }
14
14
  },
15
15
  profileData: {
16
- label: 'Profile Data',
16
+ label: 'Person Attributes',
17
17
  type: 'object',
18
- description: 'Profile Data',
18
+ description: 'Optional attributes for the person. When updating a person attributes added or updated, not removed',
19
19
  default: { '@path': '$.properties' }
20
20
  },
21
21
  identity: {
22
22
  label: 'Identity',
23
23
  type: 'string',
24
- description: 'Identity',
24
+ description: 'The Id used to uniquely identify a person in CleverTap',
25
25
  default: { '@path': '$.userId' },
26
26
  required: true
27
27
  },
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/clevertap/userUpload/index.ts"],"names":[],"mappings":";;AAKA,MAAM,IAAI,GAAG,SAAS,CAAC;AACvB,MAAM,MAAM,GAAG,SAAS,CAAC;AACzB,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,aAAa;IACpB,WAAW,EAAE,oFAAoF;IACjG,MAAM,EAAE;QACN,EAAE,EAAE;YACF,KAAK,EAAE,WAAW;YAClB,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,4GAA4G;YACzH,OAAO,EAAE,EAAC,OAAO,EAAE,aAAa,EAAC;SAClC;QACD,WAAW,EAAE;YACX,KAAK,EAAE,cAAc;YACrB,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,cAAc;YAC3B,OAAO,EAAE,EAAC,OAAO,EAAE,cAAc,EAAC;SACnC;QACD,QAAQ,EAAE;YACR,KAAK,EAAE,UAAU;YACjB,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,UAAU;YACvB,OAAO,EAAE,EAAC,OAAO,EAAE,UAAU,EAAC;YAC9B,QAAQ,EAAE,IAAI;SACf;KACF;IAGD,OAAO,EAAE,CAAC,OAAO,EAAE,EAAC,QAAQ,EAAE,OAAO,EAAC,EAAE,EAAE;QACxC,MAAM,KAAK,GAAmB;YAC5B,IAAI,EAAE,IAAI;YACV,MAAM,EAAE,MAAM;YACd,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,EAAE,EAAE,OAAO,CAAC,EAAE;SACf,CAAA;QAED,OAAO,OAAO,CAAC,GAAG,QAAQ,CAAC,iBAAiB,WAAW,EAAE;YACvD,MAAM,EAAE,MAAM;YACd,IAAI,EAAE;gBACJ,GAAG,EAAE,CAAC,KAAK,CAAC;aACb;YACD,OAAO,EAAE;gBACP,wBAAwB,EAAE,GAAG,QAAQ,CAAC,kBAAkB,EAAE;gBAC1D,sBAAsB,EAAE,GAAG,QAAQ,CAAC,iBAAiB,EAAE;aACxD;SACF,CAAC,CAAA;IACJ,CAAC;CACF,CAAA;AAED,kBAAe,MAAM,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/clevertap/userUpload/index.ts"],"names":[],"mappings":";;AAKA,MAAM,IAAI,GAAG,SAAS,CAAC;AACvB,MAAM,MAAM,GAAG,SAAS,CAAC;AACzB,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,aAAa;IACpB,WAAW,EAAE,oFAAoF;IACjG,MAAM,EAAE;QACN,EAAE,EAAE;YACF,KAAK,EAAE,YAAY;YACnB,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,yCAAyC;YACtD,OAAO,EAAE,EAAC,OAAO,EAAE,aAAa,EAAC;SAClC;QACD,WAAW,EAAE;YACX,KAAK,EAAE,mBAAmB;YAC1B,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,qGAAqG;YAClH,OAAO,EAAE,EAAC,OAAO,EAAE,cAAc,EAAC;SACnC;QACD,QAAQ,EAAE;YACR,KAAK,EAAE,UAAU;YACjB,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,wDAAwD;YACrE,OAAO,EAAE,EAAC,OAAO,EAAE,UAAU,EAAC;YAC9B,QAAQ,EAAE,IAAI;SACf;KACF;IAGD,OAAO,EAAE,CAAC,OAAO,EAAE,EAAC,QAAQ,EAAE,OAAO,EAAC,EAAE,EAAE;QACxC,MAAM,KAAK,GAAmB;YAC5B,IAAI,EAAE,IAAI;YACV,MAAM,EAAE,MAAM;YACd,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,EAAE,EAAE,OAAO,CAAC,EAAE;SACf,CAAA;QAED,OAAO,OAAO,CAAC,GAAG,QAAQ,CAAC,iBAAiB,WAAW,EAAE;YACvD,MAAM,EAAE,MAAM;YACd,IAAI,EAAE;gBACJ,GAAG,EAAE,CAAC,KAAK,CAAC;aACb;YACD,OAAO,EAAE;gBACP,wBAAwB,EAAE,GAAG,QAAQ,CAAC,kBAAkB,EAAE;gBAC1D,sBAAsB,EAAE,GAAG,QAAQ,CAAC,iBAAiB,EAAE;aACxD;SACF,CAAC,CAAA;IACJ,CAAC;CACF,CAAA;AAED,kBAAe,MAAM,CAAA"}
@@ -2,14 +2,16 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const action = {
4
4
  title: 'Create or Update Contact and Lead',
5
- description: 'Create or Update Contact and/or Lead. At first Close will try to find ' +
5
+ description: 'Create or Update Contact and/or Lead. At first, Close will try to find ' +
6
6
  'Lead via Lead Company ID. If Lead is not found, Close will try to find ' +
7
7
  'a Contact either via Contact User ID or via Contact Email. If Contact is ' +
8
8
  'not found, Close will create a new Lead and Contact. It will also create ' +
9
9
  'a new Lead and Contact if Contact is found but exists under a Lead with ' +
10
- 'different Lead Company ID. In case that Close finds find multiple ' +
11
- 'Contacts with the same Contact User ID or Contact Email, Close will ' +
12
- 'update up to 10 Contacts, ordered by creation date.',
10
+ 'different Lead Company ID. If the Action does not specify Lead Company ' +
11
+ 'ID, Close will update the Contact and also the Contact’s Lead. It might ' +
12
+ 'happen that Close will find multiple Contacts with the same Contact User ' +
13
+ 'ID or Contact Email. In such case, Close will update up to 10 Contacts, ' +
14
+ 'ordered by creation date.',
13
15
  defaultSubscription: 'type = "identify"',
14
16
  fields: {
15
17
  lead_name: {
@@ -32,13 +34,13 @@ const action = {
32
34
  },
33
35
  lead_description: {
34
36
  label: 'Lead Description',
35
- description: 'Description of the Lead',
37
+ description: 'Description of the Lead.',
36
38
  type: 'string',
37
39
  required: false
38
40
  },
39
41
  lead_status_id: {
40
42
  label: 'Lead Status ID',
41
- description: 'ID of the Lead Status (`stat_xxxx`). You can get it in Close in Statuses & Pipelines page.',
43
+ description: 'ID of the Lead Status (`stat_xxxx`). You can get it in Close in the Statuses & Pipelines page.',
42
44
  type: 'string',
43
45
  required: false
44
46
  },
@@ -59,7 +61,7 @@ const action = {
59
61
  },
60
62
  contact_email: {
61
63
  label: 'Contact Email',
62
- description: 'Can be used for looking up the Contact. If the Contact already has different email address, this value will be appended.',
64
+ description: 'Used to lookup Contact if Contact User ID is not set. If the Contact already has different email address, this value will be appended.',
63
65
  type: 'string',
64
66
  required: false,
65
67
  default: {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/close/createUpdateContactAndLead/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/close/createUpdateContactAndLead/index.ts"],"names":[],"mappings":"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"}
@@ -24,8 +24,9 @@ const destination = {
24
24
  'Custom Field in Close first, and then the integration will use ' +
25
25
  'this field to store the Company ID when creating new contacts, ' +
26
26
  'and/or will be used as a lookup key when updating existing ' +
27
- 'Lead. If this field is not filled out, it will only ' +
28
- "lookup and de-dupe based on Contact's email.",
27
+ 'Lead. The Custom Field type must be a text. If this field is not ' +
28
+ "filled out, it will only lookup and de-dupe based on Contact's " +
29
+ 'email.',
29
30
  type: 'string',
30
31
  default: '',
31
32
  required: false
@@ -37,8 +38,9 @@ const destination = {
37
38
  'Custom Field in Close first, and then the integration will use ' +
38
39
  'this field to store the User ID when creating new contacts, ' +
39
40
  'and/or will be used as a lookup key when updating existing ' +
40
- 'Contacts. If this field is not filled out, it will only ' +
41
- 'lookup and de-dupe based on email.',
41
+ 'Contacts. The Custom Field type must be a text. ' +
42
+ 'If this field is not filled out, it will only look up and de-dupe ' +
43
+ 'based on email.',
42
44
  type: 'string',
43
45
  default: '',
44
46
  required: false
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/destinations/close/index.ts"],"names":[],"mappings":";;;;;AAGA,8FAAqE;AAErE,MAAM,WAAW,GAAoC;IACnD,IAAI,EAAE,OAAO;IACb,IAAI,EAAE,OAAO;IACb,IAAI,EAAE,OAAO;IAEb,cAAc,EAAE;QACd,MAAM,EAAE,OAAO;QACf,MAAM,EAAE;YACN,OAAO,EAAE;gBACP,KAAK,EAAE,SAAS;gBAChB,WAAW,EAAE,qBAAqB;gBAClC,IAAI,EAAE,UAAU;gBAChB,QAAQ,EAAE,IAAI;aACf;YACD,mCAAmC,EAAE;gBACnC,KAAK,EAAE,qCAAqC;gBAC5C,WAAW,EACT,iDAAiD;oBACjD,4DAA4D;oBAC5D,iEAAiE;oBACjE,iEAAiE;oBACjE,6DAA6D;oBAC7D,sDAAsD;oBACtD,8CAA8C;gBAChD,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,EAAE;gBACX,QAAQ,EAAE,KAAK;aAChB;YACD,mCAAmC,EAAE;gBACnC,KAAK,EAAE,qCAAqC;gBAC5C,WAAW,EACT,oDAAoD;oBACpD,4DAA4D;oBAC5D,iEAAiE;oBACjE,8DAA8D;oBAC9D,6DAA6D;oBAC7D,0DAA0D;oBAC1D,oCAAoC;gBACtC,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,EAAE;gBACX,QAAQ,EAAE,KAAK;aAChB;SACF;QACD,kBAAkB,EAAE,CAAC,OAAO,EAAE,EAAE;YAC9B,OAAO,OAAO,CAAC,6CAA6C,CAAC,CAAA;QAC/D,CAAC;KACF;IAED,aAAa,CAAC,EAAE,QAAQ,EAAE;QACxB,OAAO;YACL,QAAQ,EAAE,QAAQ,CAAC,OAAO;YAC1B,QAAQ,EAAE,EAAE;SACb,CAAA;IACH,CAAC;IAQD,OAAO,EAAE;QACP,0BAA0B,EAA1B,oCAA0B;KAC3B;CACF,CAAA;AAED,kBAAe,WAAW,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/destinations/close/index.ts"],"names":[],"mappings":";;;;;AAGA,8FAAqE;AAErE,MAAM,WAAW,GAAoC;IACnD,IAAI,EAAE,OAAO;IACb,IAAI,EAAE,OAAO;IACb,IAAI,EAAE,OAAO;IAEb,cAAc,EAAE;QACd,MAAM,EAAE,OAAO;QACf,MAAM,EAAE;YACN,OAAO,EAAE;gBACP,KAAK,EAAE,SAAS;gBAChB,WAAW,EAAE,qBAAqB;gBAClC,IAAI,EAAE,UAAU;gBAChB,QAAQ,EAAE,IAAI;aACf;YACD,mCAAmC,EAAE;gBACnC,KAAK,EAAE,qCAAqC;gBAC5C,WAAW,EACT,iDAAiD;oBACjD,4DAA4D;oBAC5D,iEAAiE;oBACjE,iEAAiE;oBACjE,6DAA6D;oBAC7D,mEAAmE;oBACnE,iEAAiE;oBACjE,QAAQ;gBACV,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,EAAE;gBACX,QAAQ,EAAE,KAAK;aAChB;YACD,mCAAmC,EAAE;gBACnC,KAAK,EAAE,qCAAqC;gBAC5C,WAAW,EACT,oDAAoD;oBACpD,4DAA4D;oBAC5D,iEAAiE;oBACjE,8DAA8D;oBAC9D,6DAA6D;oBAC7D,kDAAkD;oBAClD,oEAAoE;oBACpE,iBAAiB;gBACnB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,EAAE;gBACX,QAAQ,EAAE,KAAK;aAChB;SACF;QACD,kBAAkB,EAAE,CAAC,OAAO,EAAE,EAAE;YAC9B,OAAO,OAAO,CAAC,6CAA6C,CAAC,CAAA;QAC/D,CAAC;KACF;IAED,aAAa,CAAC,EAAE,QAAQ,EAAE;QACxB,OAAO;YACL,QAAQ,EAAE,QAAQ,CAAC,OAAO;YAC1B,QAAQ,EAAE,EAAE;SACb,CAAA;IACH,CAAC;IAQD,OAAO,EAAE;QACP,0BAA0B,EAA1B,oCAA0B;KAC3B;CACF,CAAA;AAED,kBAAe,WAAW,CAAA"}
@@ -1,6 +1,7 @@
1
1
  export interface Payload {
2
- identifyByKey: string;
3
- identifyByValue: string;
2
+ userIdentities: {
3
+ [k: string]: unknown;
4
+ };
4
5
  groupId: string;
5
6
  listName?: string;
6
7
  }
@@ -4,17 +4,21 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const cordial_client_1 = __importDefault(require("../cordial-client"));
7
- const user_identifier_1 = require("../user-identifier");
8
- const common_fields_1 = require("../common-fields");
9
7
  const action = {
10
8
  title: 'Add Contact to List',
11
- description: 'Add Contact to Cordial List',
9
+ description: 'Add contact to a list. If the list does not exist in Cordial it will be created.',
12
10
  defaultSubscription: 'type = "group"',
13
11
  fields: {
14
- ...common_fields_1.commonFields,
12
+ userIdentities: {
13
+ label: 'User Identities',
14
+ description: 'An ordered list of contact identifiers in Cordial. Each item in the list represents an identifier. For example, `channels.email.address -> userId` and/or `customerId -> traits.customerId`. At least one identifier should be valid otherwise the contact will not be identified and the request will be ignored.',
15
+ type: 'object',
16
+ required: true,
17
+ defaultObjectUI: 'keyvalue:only'
18
+ },
15
19
  groupId: {
16
20
  label: 'Group ID',
17
- description: 'Segment Group ID',
21
+ description: 'Segment group id. Required.',
18
22
  type: 'string',
19
23
  required: true,
20
24
  default: {
@@ -22,23 +26,17 @@ const action = {
22
26
  }
23
27
  },
24
28
  listName: {
25
- label: 'List Name',
26
- description: 'Cordial List Name',
29
+ label: 'List name',
30
+ description: 'Cordial list name. Optional. If list name is empty, the name of the list will be set to segment_[groupId].',
27
31
  type: 'string',
28
32
  default: {
29
- '@if': {
30
- exists: { '@path': '$.traits.name' },
31
- then: { '@path': '$.traits.name' },
32
- else: { '@path': '$.groupId' }
33
- }
33
+ '@path': '$.traits.name'
34
34
  }
35
35
  }
36
36
  },
37
37
  perform: async (request, { settings, payload }) => {
38
38
  const client = new cordial_client_1.default(settings, request);
39
- const list = await client.upsertList(payload.groupId, payload.listName);
40
- const userIdentifier = user_identifier_1.getUserIdentifier(payload.identifyByKey, payload.identifyByValue);
41
- return client.addContactToList(userIdentifier, list);
39
+ return client.addContactToList(payload);
42
40
  }
43
41
  };
44
42
  exports.default = action;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/cordial/addContactToList/index.ts"],"names":[],"mappings":";;;;;AAGA,uEAA6C;AAC7C,wDAAsD;AACtD,oDAA+C;AAE/C,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,qBAAqB;IAC5B,WAAW,EAAE,6BAA6B;IAC1C,mBAAmB,EAAE,gBAAgB;IACrC,MAAM,EAAE;QACN,GAAG,4BAAY;QACf,OAAO,EAAE;YACP,KAAK,EAAE,UAAU;YACjB,WAAW,EAAE,kBAAkB;YAC/B,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE;gBACP,OAAO,EAAE,WAAW;aACrB;SACF;QACD,QAAQ,EAAE;YACR,KAAK,EAAE,WAAW;YAClB,WAAW,EAAE,mBAAmB;YAChC,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE;gBACP,KAAK,EAAE;oBACL,MAAM,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE;oBACpC,IAAI,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE;oBAClC,IAAI,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE;iBAC/B;aACF;SACF;KACF;IACD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;QAChD,MAAM,MAAM,GAAG,IAAI,wBAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QACnD,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAA;QACvE,MAAM,cAAc,GAAG,mCAAiB,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;QACxF,OAAO,MAAM,CAAC,gBAAgB,CAAC,cAAc,EAAE,IAAI,CAAC,CAAA;IACtD,CAAC;CACF,CAAA;AAED,kBAAe,MAAM,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/cordial/addContactToList/index.ts"],"names":[],"mappings":";;;;;AAGA,uEAA6C;AAE7C,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,qBAAqB;IAC5B,WAAW,EAAE,kFAAkF;IAC/F,mBAAmB,EAAE,gBAAgB;IACrC,MAAM,EAAE;QACN,cAAc,EAAE;YACd,KAAK,EAAE,iBAAiB;YACxB,WAAW,EACT,oTAAoT;YACtT,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,eAAe,EAAE,eAAe;SACjC;QACD,OAAO,EAAE;YACP,KAAK,EAAE,UAAU;YACjB,WAAW,EAAE,6BAA6B;YAC1C,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE;gBACP,OAAO,EAAE,WAAW;aACrB;SACF;QACD,QAAQ,EAAE;YACR,KAAK,EAAE,WAAW;YAClB,WAAW,EACT,4GAA4G;YAC9G,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE;gBACP,OAAO,EAAE,eAAe;aACzB;SACF;KACF;IACD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;QAChD,MAAM,MAAM,GAAG,IAAI,wBAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QACnD,OAAO,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAA;IACzC,CAAC;CACF,CAAA;AAED,kBAAe,MAAM,CAAA"}
@@ -1,36 +1,16 @@
1
1
  import { Settings } from './generated-types';
2
2
  import { RequestClient } from '@segment/actions-core';
3
- import { Payload as ContactActivityPayload } from './createContactactivity/generated-types';
4
- import { UserIdentifier } from "./user-identifier";
5
- interface Attribute {
6
- name: string;
7
- type: string;
8
- key: string;
9
- }
10
- interface ContactAttributes {
11
- [key: string]: string | number;
12
- }
13
- interface List {
14
- id: number;
15
- name: string;
16
- segment_group_id: string;
17
- }
3
+ import { Payload as AddContactToListPayload } from './addContactToList/generated-types';
4
+ import { Payload as CreateContactactivityPayload } from './createContactactivity/generated-types';
5
+ import { Payload as RemoveContactFromListPayload } from './removeContactFromList/generated-types';
6
+ import { Payload as UpsertContactPayload } from './upsertContact/generated-types';
18
7
  declare class CordialClient {
19
8
  private readonly apiUrl;
20
9
  private readonly request;
21
10
  constructor(settings: Settings, request: RequestClient);
22
- addContactActivity(payload: ContactActivityPayload): Promise<import("@segment/actions-core").ModifiedResponse<unknown>>;
23
- upsertContact(userIdentifier: UserIdentifier, attributes?: ContactAttributes): Promise<import("@segment/actions-core").ModifiedResponse<unknown>>;
24
- getList(segmentGroupId: string, listName?: string): Promise<List | null>;
25
- upsertList(segmentGroupId: string, listName?: string): Promise<List>;
26
- addContactToList(userIdentifier: UserIdentifier, list: List): Promise<import("@segment/actions-core").ModifiedResponse<unknown>>;
27
- removeContactFromList(userIdentifier: UserIdentifier, list: List): Promise<import("@segment/actions-core").ModifiedResponse<unknown>>;
28
- transformAttributes(rawAttributes: {
29
- [key: string]: any;
30
- }): Promise<ContactAttributes>;
31
- protected getAttributes(): Promise<{
32
- [key: string]: Attribute;
33
- }>;
34
- protected prepareListName(listName: string): string;
11
+ addContactActivity(payload: CreateContactactivityPayload): Promise<import("@segment/actions-core").ModifiedResponse<unknown>>;
12
+ upsertContact(payload: UpsertContactPayload): Promise<import("@segment/actions-core").ModifiedResponse<unknown>>;
13
+ addContactToList(payload: AddContactToListPayload): Promise<import("@segment/actions-core").ModifiedResponse<unknown>>;
14
+ removeContactFromList(payload: RemoveContactFromListPayload): Promise<import("@segment/actions-core").ModifiedResponse<unknown>>;
35
15
  }
36
16
  export default CordialClient;
@@ -2,120 +2,49 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  class CordialClient {
4
4
  constructor(settings, request) {
5
- this.apiUrl = `${settings.endpoint}/v2`;
5
+ this.apiUrl = `${settings.endpoint}/api/segment`;
6
6
  this.request = request;
7
7
  }
8
8
  addContactActivity(payload) {
9
- return this.request(`${this.apiUrl}/contactactivities`, {
9
+ return this.request(`${this.apiUrl}/createContactactivity`, {
10
10
  method: 'post',
11
11
  json: {
12
- [payload.identifyByKey]: payload.identifyByValue,
13
- a: payload.action,
12
+ userIdentities: payload.userIdentities,
13
+ action: payload.action,
14
14
  time: payload.time,
15
- properties: payload.properties
15
+ properties: payload.properties,
16
+ context: payload.context
16
17
  }
17
18
  });
18
19
  }
19
- async upsertContact(userIdentifier, attributes) {
20
- return this.request(`${this.apiUrl}/contacts`, {
20
+ async upsertContact(payload) {
21
+ return this.request(`${this.apiUrl}/upsertContact`, {
21
22
  method: 'post',
22
23
  json: {
23
- ...userIdentifier,
24
- ...attributes,
25
- request_source: 'integration-segment'
24
+ userIdentities: payload.userIdentities,
25
+ attributes: payload.attributes
26
26
  }
27
27
  });
28
28
  }
29
- async getList(segmentGroupId, listName) {
30
- let result = null;
31
- try {
32
- const lists = await this.request(`${this.apiUrl}/accountlists`, {
33
- method: 'get'
34
- });
35
- for (const list of lists.data) {
36
- if (list.segment_group_id == segmentGroupId) {
37
- result = list;
38
- break;
39
- }
40
- }
41
- if (!result && listName) {
42
- listName = this.prepareListName(listName);
43
- for (const list of lists.data) {
44
- if (list.name == listName) {
45
- result = list;
46
- break;
47
- }
48
- }
49
- }
50
- }
51
- catch (e) {
52
- return result;
53
- }
54
- return result;
55
- }
56
- async upsertList(segmentGroupId, listName) {
57
- const list = await this.getList(segmentGroupId, listName);
58
- if (list) {
59
- return list;
60
- }
61
- if (!listName) {
62
- listName = 'segment_' + segmentGroupId;
63
- }
64
- listName = this.prepareListName(listName);
65
- const response = await this.request(`${this.apiUrl}/accountlists`, {
29
+ async addContactToList(payload) {
30
+ return this.request(`${this.apiUrl}/addContactToList`, {
66
31
  method: 'post',
67
32
  json: {
68
- name: listName,
69
- enhanced: true,
70
- segment_group_id: segmentGroupId
33
+ userIdentities: payload.userIdentities,
34
+ groupId: payload.groupId,
35
+ listName: payload.listName
71
36
  }
72
37
  });
73
- return {
74
- id: response.data.id,
75
- name: listName,
76
- segment_group_id: segmentGroupId
77
- };
78
38
  }
79
- async addContactToList(userIdentifier, list) {
80
- return this.request(`${this.apiUrl}/contacts`, {
39
+ async removeContactFromList(payload) {
40
+ return this.request(`${this.apiUrl}/removeContactFromList`, {
81
41
  method: 'post',
82
42
  json: {
83
- ...userIdentifier,
84
- [list.name]: true
43
+ userIdentities: payload.userIdentities,
44
+ groupId: payload.groupId
85
45
  }
86
46
  });
87
47
  }
88
- async removeContactFromList(userIdentifier, list) {
89
- return this.request(`${this.apiUrl}/contacts`, {
90
- method: 'post',
91
- json: {
92
- ...userIdentifier,
93
- [list.name]: false
94
- }
95
- });
96
- }
97
- async transformAttributes(rawAttributes) {
98
- const attributes = {};
99
- const availableAttributes = await this.getAttributes();
100
- for (const key in availableAttributes) {
101
- if (key in rawAttributes) {
102
- const value = rawAttributes[key];
103
- if (typeof value !== 'object') {
104
- attributes[key] = value;
105
- }
106
- }
107
- }
108
- return attributes;
109
- }
110
- async getAttributes() {
111
- const response = await this.request(`${this.apiUrl}/accountcontactattributes`, {
112
- method: 'get'
113
- });
114
- return response.data;
115
- }
116
- prepareListName(listName) {
117
- return listName.replace(' ', '-');
118
- }
119
48
  }
120
49
  exports.default = CordialClient;
121
50
  //# sourceMappingURL=cordial-client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cordial-client.js","sourceRoot":"","sources":["../../../src/destinations/cordial/cordial-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cordial-client.js","sourceRoot":"","sources":["../../../src/destinations/cordial/cordial-client.ts"],"names":[],"mappings":";;AAOA,MAAM,aAAa;IAIjB,YAAY,QAAkB,EAAE,OAAsB;QACpD,IAAI,CAAC,MAAM,GAAG,GAAG,QAAQ,CAAC,QAAQ,cAAc,CAAA;QAChD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAED,kBAAkB,CAAC,OAAqC;QACtD,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,wBAAwB,EAAE;YAC1D,MAAM,EAAE,MAAM;YACd,IAAI,EAAE;gBACJ,cAAc,EAAE,OAAO,CAAC,cAAc;gBACtC,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,OAAO,EAAE,OAAO,CAAC,OAAO;aACzB;SACF,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,OAA6B;QAC/C,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,gBAAgB,EAAE;YAClD,MAAM,EAAE,MAAM;YACd,IAAI,EAAE;gBACJ,cAAc,EAAE,OAAO,CAAC,cAAc;gBACtC,UAAU,EAAE,OAAO,CAAC,UAAU;aAC/B;SACF,CAAC,CAAA;IACJ,CAAC;IAGD,KAAK,CAAC,gBAAgB,CAAC,OAAgC;QACrD,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,mBAAmB,EAAE;YACrD,MAAM,EAAE,MAAM;YACd,IAAI,EAAE;gBACJ,cAAc,EAAE,OAAO,CAAC,cAAc;gBACtC,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,QAAQ,EAAE,OAAO,CAAC,QAAQ;aAC3B;SACF,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,OAAqC;QAC/D,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,wBAAwB,EAAE;YAC1D,MAAM,EAAE,MAAM;YACd,IAAI,EAAE;gBACJ,cAAc,EAAE,OAAO,CAAC,cAAc;gBACtC,OAAO,EAAE,OAAO,CAAC,OAAO;aACzB;SACF,CAAC,CAAA;IACJ,CAAC;CACF;AAED,kBAAe,aAAa,CAAA"}
@@ -1,9 +1,13 @@
1
1
  export interface Payload {
2
- identifyByKey: string;
3
- identifyByValue: string;
2
+ userIdentities: {
3
+ [k: string]: unknown;
4
+ };
4
5
  action: string;
5
6
  time?: string | number;
6
7
  properties?: {
7
8
  [k: string]: unknown;
8
9
  };
10
+ context?: {
11
+ [k: string]: unknown;
12
+ };
9
13
  }
@@ -4,37 +4,54 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const cordial_client_1 = __importDefault(require("../cordial-client"));
7
- const common_fields_1 = require("../common-fields");
8
7
  const action = {
9
8
  title: 'Create Contactactivity',
10
- description: "Create Cordial Contactactivity from Segment's track and page events",
9
+ description: 'Create a new contact activity.',
11
10
  defaultSubscription: 'type = "track" or type = "page"',
12
11
  fields: {
13
- ...common_fields_1.commonFields,
12
+ userIdentities: {
13
+ label: 'User Identities',
14
+ description: 'An ordered list of contact identifiers in Cordial. Each item in the list represents an identifier. For example, `channels.email.address -> userId` and/or `customerId -> traits.customerId`. At least one identifier should be valid otherwise the contact will not be identified and the request will be ignored.',
15
+ type: 'object',
16
+ required: true,
17
+ defaultObjectUI: 'keyvalue:only'
18
+ },
14
19
  action: {
15
20
  label: 'Event name',
16
- description: 'Segment event name',
21
+ description: 'Event name. Required.',
17
22
  type: 'string',
18
23
  required: true,
19
24
  default: {
20
- '@path': '$.event'
25
+ '@if': {
26
+ exists: { '@path': '$.event' },
27
+ then: { '@path': '$.event' },
28
+ else: 'pageView'
29
+ }
21
30
  }
22
31
  },
23
32
  time: {
24
- label: 'Event sentAt',
25
- description: 'Segment event sentAt',
33
+ label: 'Event timestamp',
34
+ description: 'Event timestamp. Optional. Date format is ISO 8601 standard. If empty, the request upload time will be used. ',
26
35
  type: 'datetime',
27
36
  default: {
28
- '@path': '$.sentAt'
37
+ '@path': '$.timestamp'
29
38
  }
30
39
  },
31
40
  properties: {
32
41
  label: 'Event properties',
33
- description: 'Segment event properties',
42
+ description: 'An object of additional event attributes. Optional.',
34
43
  type: 'object',
35
44
  default: {
36
45
  '@path': '$.properties'
37
46
  }
47
+ },
48
+ context: {
49
+ label: 'Event context',
50
+ description: 'Event context as it appears in Segment. Optional. We use context to capture event metadata like sender ip and device info.',
51
+ type: 'object',
52
+ default: {
53
+ '@path': '$.context'
54
+ }
38
55
  }
39
56
  },
40
57
  perform: (request, { settings, payload }) => {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/cordial/createContactactivity/index.ts"],"names":[],"mappings":";;;;;AAGA,uEAA6C;AAC7C,oDAA+C;AAE/C,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,wBAAwB;IAC/B,WAAW,EAAE,qEAAqE;IAClF,mBAAmB,EAAE,iCAAiC;IACtD,MAAM,EAAE;QACN,GAAG,4BAAY;QACf,MAAM,EAAE;YACN,KAAK,EAAE,YAAY;YACnB,WAAW,EAAE,oBAAoB;YACjC,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE;gBACP,OAAO,EAAE,SAAS;aACnB;SACF;QACD,IAAI,EAAE;YACJ,KAAK,EAAE,cAAc;YACrB,WAAW,EAAE,sBAAsB;YACnC,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE;gBACP,OAAO,EAAE,UAAU;aACpB;SACF;QACD,UAAU,EAAE;YACV,KAAK,EAAE,kBAAkB;YACzB,WAAW,EAAE,0BAA0B;YACvC,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE;gBACP,OAAO,EAAE,cAAc;aACxB;SACF;KACF;IACD,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;QAC1C,MAAM,MAAM,GAAG,IAAI,wBAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QACnD,OAAO,MAAM,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAA;IAC3C,CAAC;CACF,CAAA;AAED,kBAAe,MAAM,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/cordial/createContactactivity/index.ts"],"names":[],"mappings":";;;;;AAGA,uEAA6C;AAE7C,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,wBAAwB;IAC/B,WAAW,EAAE,gCAAgC;IAC7C,mBAAmB,EAAE,iCAAiC;IACtD,MAAM,EAAE;QACN,cAAc,EAAE;YACd,KAAK,EAAE,iBAAiB;YACxB,WAAW,EACT,oTAAoT;YACtT,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,eAAe,EAAE,eAAe;SACjC;QACD,MAAM,EAAE;YACN,KAAK,EAAE,YAAY;YACnB,WAAW,EAAE,uBAAuB;YACpC,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE;gBACP,KAAK,EAAE;oBACL,MAAM,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE;oBAC9B,IAAI,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE;oBAC5B,IAAI,EAAE,UAAU;iBACjB;aACF;SACF;QACD,IAAI,EAAE;YACJ,KAAK,EAAE,iBAAiB;YACxB,WAAW,EACT,+GAA+G;YACjH,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE;gBACP,OAAO,EAAE,aAAa;aACvB;SACF;QACD,UAAU,EAAE;YACV,KAAK,EAAE,kBAAkB;YACzB,WAAW,EAAE,qDAAqD;YAClE,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE;gBACP,OAAO,EAAE,cAAc;aACxB;SACF;QACD,OAAO,EAAE;YACP,KAAK,EAAE,eAAe;YACtB,WAAW,EACT,4HAA4H;YAC9H,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE;gBACP,OAAO,EAAE,WAAW;aACrB;SACF;KACF;IACD,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;QAC1C,MAAM,MAAM,GAAG,IAAI,wBAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QACnD,OAAO,MAAM,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAA;IAC3C,CAAC;CACF,CAAA;AAED,kBAAe,MAAM,CAAA"}
@@ -13,7 +13,7 @@ const destination = {
13
13
  slug: 'actions-cordial',
14
14
  mode: 'cloud',
15
15
  authentication: {
16
- scheme: 'basic',
16
+ scheme: 'custom',
17
17
  fields: {
18
18
  apiKey: {
19
19
  label: 'API Key',
@@ -27,20 +27,17 @@ const destination = {
27
27
  type: 'string',
28
28
  required: true,
29
29
  format: 'uri',
30
- choices: [
31
- { label: 'US-EAST (https://api.cordial.io)', value: 'https://api.cordial.io' },
32
- { label: 'US-WEST (https://api.usw2.cordial.io)', value: 'https://api.usw2.cordial.io' },
33
- { label: 'Staging (https://api.stg.cordialdev.com)', value: 'https://api.stg.cordialdev.com' }
34
- ],
35
- default: 'https://api.cordial.io'
30
+ default: 'https://integrations-ingest-svc.usw1.cordial.com'
36
31
  }
37
32
  },
38
33
  testAuthentication: (request, { settings }) => {
39
- return request(settings.endpoint + '/v2/health');
34
+ return request(settings.endpoint + '/api/checkAuth');
40
35
  }
41
36
  },
42
37
  extendRequest({ settings }) {
43
- return { username: settings.apiKey };
38
+ return {
39
+ headers: { 'x-api-key': `${settings.apiKey}`, 'Accept': 'application/json' },
40
+ };
44
41
  },
45
42
  actions: {
46
43
  createContactactivity: createContactactivity_1.default,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/destinations/cordial/index.ts"],"names":[],"mappings":";;;;;AAGA,oFAA2D;AAC3D,oEAA2C;AAC3C,0EAAiD;AACjD,oFAA2D;AAE3D,MAAM,WAAW,GAAoC;IACnD,IAAI,EAAE,mBAAmB;IACzB,WAAW,EAAE,kDAAkD;IAC/D,IAAI,EAAE,iBAAiB;IACvB,IAAI,EAAE,OAAO;IAEb,cAAc,EAAE;QACd,MAAM,EAAE,OAAO;QACf,MAAM,EAAE;YACN,MAAM,EAAE;gBACN,KAAK,EAAE,SAAS;gBAChB,WAAW,EAAE,sBAAsB;gBACnC,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;aACf;YACD,QAAQ,EAAE;gBACR,KAAK,EAAE,UAAU;gBACjB,WAAW,EACT,mMAAmM;gBACrM,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;gBACd,MAAM,EAAE,KAAK;gBACb,OAAO,EAAE;oBACP,EAAE,KAAK,EAAE,kCAAkC,EAAE,KAAK,EAAE,wBAAwB,EAAE;oBAC9E,EAAE,KAAK,EAAE,uCAAuC,EAAE,KAAK,EAAE,6BAA6B,EAAE;oBACxF,EAAE,KAAK,EAAE,0CAA0C,EAAE,KAAK,EAAE,gCAAgC,EAAE;iBAC/F;gBACD,OAAO,EAAE,wBAAwB;aAClC;SACF;QACD,kBAAkB,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;YAC5C,OAAO,OAAO,CAAC,QAAQ,CAAC,QAAQ,GAAG,YAAY,CAAC,CAAA;QAClD,CAAC;KACF;IAED,aAAa,CAAC,EAAE,QAAQ,EAAE;QACxB,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAA;IACtC,CAAC;IAED,OAAO,EAAE;QACP,qBAAqB,EAArB,+BAAqB;QACrB,aAAa,EAAb,uBAAa;QACb,gBAAgB,EAAhB,0BAAgB;QAChB,qBAAqB,EAArB,+BAAqB;KACtB;CACF,CAAA;AAED,kBAAe,WAAW,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/destinations/cordial/index.ts"],"names":[],"mappings":";;;;;AAGA,oFAA2D;AAC3D,oEAA2C;AAC3C,0EAAiD;AACjD,oFAA2D;AAE3D,MAAM,WAAW,GAAoC;IACnD,IAAI,EAAE,mBAAmB;IACzB,WAAW,EAAE,kDAAkD;IAC/D,IAAI,EAAE,iBAAiB;IACvB,IAAI,EAAE,OAAO;IAEb,cAAc,EAAE;QACd,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE;YACN,MAAM,EAAE;gBACN,KAAK,EAAE,SAAS;gBAChB,WAAW,EAAE,sBAAsB;gBACnC,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;aACf;YACD,QAAQ,EAAE;gBACR,KAAK,EAAE,UAAU;gBACjB,WAAW,EACT,mMAAmM;gBACrM,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;gBACd,MAAM,EAAE,KAAK;gBACb,OAAO,EAAE,kDAAkD;aAC5D;SACF;QACD,kBAAkB,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;YAC5C,OAAO,OAAO,CAAC,QAAQ,CAAC,QAAQ,GAAG,gBAAgB,CAAC,CAAA;QACtD,CAAC;KACF;IAED,aAAa,CAAC,EAAE,QAAQ,EAAE;QACxB,OAAO;YACL,OAAO,EAAE,EAAE,WAAW,EAAE,GAAG,QAAQ,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,kBAAkB,EAAE;SAC7E,CAAA;IACH,CAAC;IAED,OAAO,EAAE;QACP,qBAAqB,EAArB,+BAAqB;QACrB,aAAa,EAAb,uBAAa;QACb,gBAAgB,EAAhB,0BAAgB;QAChB,qBAAqB,EAArB,+BAAqB;KACtB;CACF,CAAA;AAED,kBAAe,WAAW,CAAA"}
@@ -1,6 +1,6 @@
1
1
  export interface Payload {
2
- identifyByKey: string;
3
- identifyByValue: string;
2
+ userIdentities: {
3
+ [k: string]: unknown;
4
+ };
4
5
  groupId: string;
5
- listName?: string;
6
6
  }
@@ -4,43 +4,30 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const cordial_client_1 = __importDefault(require("../cordial-client"));
7
- const user_identifier_1 = require("../user-identifier");
8
- const common_fields_1 = require("../common-fields");
9
7
  const action = {
10
8
  title: 'Remove Contact from List',
11
9
  description: 'Remove Contact from Cordial List',
12
10
  fields: {
13
- ...common_fields_1.commonFields,
11
+ userIdentities: {
12
+ label: 'User Identities',
13
+ description: 'An ordered list of contact identifiers in Cordial. Each item in the list represents an identifier. For example, `channels.email.address -> userId` and/or `customerId -> userId`. At least one identifier should be valid otherwise the contact will not be identified and the request will be ignored.',
14
+ type: 'object',
15
+ required: true,
16
+ defaultObjectUI: 'keyvalue:only'
17
+ },
14
18
  groupId: {
15
19
  label: 'Group ID',
16
- description: 'Segment Group ID',
20
+ description: 'Segment group id. Required.',
17
21
  type: 'string',
18
22
  required: true,
19
23
  default: {
20
24
  '@path': '$.groupId'
21
25
  }
22
- },
23
- listName: {
24
- label: 'List Name',
25
- description: 'Cordial List Name',
26
- type: 'string',
27
- default: {
28
- '@if': {
29
- exists: { '@path': '$.traits.name' },
30
- then: { '@path': '$.traits.name' },
31
- else: { '@path': '$.groupId' }
32
- }
33
- }
34
26
  }
35
27
  },
36
28
  perform: async (request, { settings, payload }) => {
37
29
  const client = new cordial_client_1.default(settings, request);
38
- const list = await client.getList(payload.groupId, payload.listName);
39
- if (!list) {
40
- return true;
41
- }
42
- const userIdentifier = user_identifier_1.getUserIdentifier(payload.identifyByKey, payload.identifyByValue);
43
- return client.removeContactFromList(userIdentifier, list);
30
+ return client.removeContactFromList(payload);
44
31
  }
45
32
  };
46
33
  exports.default = action;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/cordial/removeContactFromList/index.ts"],"names":[],"mappings":";;;;;AAGA,uEAA6C;AAC7C,wDAAsD;AACtD,oDAA+C;AAE/C,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,0BAA0B;IACjC,WAAW,EAAE,kCAAkC;IAC/C,MAAM,EAAE;QACN,GAAG,4BAAY;QACf,OAAO,EAAE;YACP,KAAK,EAAE,UAAU;YACjB,WAAW,EAAE,kBAAkB;YAC/B,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE;gBACP,OAAO,EAAE,WAAW;aACrB;SACF;QACD,QAAQ,EAAE;YACR,KAAK,EAAE,WAAW;YAClB,WAAW,EAAE,mBAAmB;YAChC,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE;gBACP,KAAK,EAAE;oBACL,MAAM,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE;oBACpC,IAAI,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE;oBAClC,IAAI,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE;iBAC/B;aACF;SACF;KACF;IACD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;QAChD,MAAM,MAAM,GAAG,IAAI,wBAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QACnD,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAA;QAEpE,IAAI,CAAC,IAAI,EAAE;YACT,OAAO,IAAI,CAAA;SACZ;QACD,MAAM,cAAc,GAAG,mCAAiB,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;QACxF,OAAO,MAAM,CAAC,qBAAqB,CAAC,cAAc,EAAE,IAAI,CAAC,CAAA;IAC3D,CAAC;CACF,CAAA;AAED,kBAAe,MAAM,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/cordial/removeContactFromList/index.ts"],"names":[],"mappings":";;;;;AAGA,uEAA6C;AAE7C,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,0BAA0B;IACjC,WAAW,EAAE,kCAAkC;IAC/C,MAAM,EAAE;QACN,cAAc,EAAE;YACd,KAAK,EAAE,iBAAiB;YACxB,WAAW,EACT,ySAAyS;YAC3S,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,eAAe,EAAE,eAAe;SACjC;QACD,OAAO,EAAE;YACP,KAAK,EAAE,UAAU;YACjB,WAAW,EAAE,6BAA6B;YAC1C,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE;gBACP,OAAO,EAAE,WAAW;aACrB;SACF;KACF;IACD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;QAChD,MAAM,MAAM,GAAG,IAAI,wBAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QACnD,OAAO,MAAM,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAA;IAC9C,CAAC;CACF,CAAA;AAED,kBAAe,MAAM,CAAA"}
@@ -1,6 +1,7 @@
1
1
  export interface Payload {
2
- identifyByKey: string;
3
- identifyByValue: string;
2
+ userIdentities: {
3
+ [k: string]: unknown;
4
+ };
4
5
  attributes?: {
5
6
  [k: string]: unknown;
6
7
  };
@@ -4,29 +4,29 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const cordial_client_1 = __importDefault(require("../cordial-client"));
7
- const user_identifier_1 = require("../user-identifier");
8
- const common_fields_1 = require("../common-fields");
9
7
  const action = {
10
8
  title: 'Upsert Contact',
11
- description: "Upsert Cordial Contact from Segment's identify events",
9
+ description: 'Create or update a contact in Cordial.',
12
10
  defaultSubscription: 'type = "identify"',
13
11
  fields: {
14
- ...common_fields_1.commonFields,
12
+ userIdentities: {
13
+ label: 'User Identities',
14
+ description: 'An ordered list of contact identifiers in Cordial. Each item in the list represents an identifier. For example, `channels.email.address -> userId` and/or `customerId -> traits.customerId`. If a contact is found using the identifiers it is updated, otherwise a new contact is created.',
15
+ type: 'object',
16
+ required: true,
17
+ defaultObjectUI: 'keyvalue:only'
18
+ },
15
19
  attributes: {
16
20
  label: 'Contact Attributes',
17
- description: 'Contact Attributes',
21
+ description: 'Contact attributes to update. Optional. Contact attributes must exist in Cordial prior to updating. Attributes that do not exist in Cordial will be ignored. Complex attribute types to be mapped via dot notation, for example, `cordialPerson.first_name -> traits.segmentPerson.firstName`, `cordialPerson.last_name -> traits.segmentPerson.lastName`. Segment trait address can be mapped directly to geo Cordial attribute: `geo_cordial_attribute -> traits.address`.',
18
22
  type: 'object',
19
23
  required: false,
20
- default: {
21
- '@path': '$.traits'
22
- }
24
+ defaultObjectUI: 'keyvalue:only'
23
25
  }
24
26
  },
25
27
  perform: async (request, { settings, payload }) => {
26
28
  const client = new cordial_client_1.default(settings, request);
27
- const attributes = payload.attributes ? await client.transformAttributes(payload.attributes) : undefined;
28
- const userIdentifier = user_identifier_1.getUserIdentifier(payload.identifyByKey, payload.identifyByValue);
29
- return client.upsertContact(userIdentifier, attributes);
29
+ return client.upsertContact(payload);
30
30
  }
31
31
  };
32
32
  exports.default = action;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/cordial/upsertContact/index.ts"],"names":[],"mappings":";;;;;AAGA,uEAA6C;AAC7C,wDAAsD;AACtD,oDAA+C;AAE/C,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,gBAAgB;IACvB,WAAW,EAAE,uDAAuD;IACpE,mBAAmB,EAAE,mBAAmB;IACxC,MAAM,EAAE;QACN,GAAG,4BAAY;QACf,UAAU,EAAE;YACV,KAAK,EAAE,oBAAoB;YAC3B,WAAW,EAAE,oBAAoB;YACjC,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE;gBACP,OAAO,EAAE,UAAU;aACpB;SACF;KACF;IACD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;QAChD,MAAM,MAAM,GAAG,IAAI,wBAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QACnD,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,mBAAmB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QACxG,MAAM,cAAc,GAAG,mCAAiB,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;QACxF,OAAO,MAAM,CAAC,aAAa,CAAC,cAAc,EAAE,UAAU,CAAC,CAAA;IACzD,CAAC;CACF,CAAA;AAED,kBAAe,MAAM,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/cordial/upsertContact/index.ts"],"names":[],"mappings":";;;;;AAGA,uEAA6C;AAE7C,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,gBAAgB;IACvB,WAAW,EAAE,wCAAwC;IACrD,mBAAmB,EAAE,mBAAmB;IACxC,MAAM,EAAE;QACN,cAAc,EAAE;YACd,KAAK,EAAE,iBAAiB;YACxB,WAAW,EACT,6RAA6R;YAC/R,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,eAAe,EAAE,eAAe;SACjC;QACD,UAAU,EAAE;YACV,KAAK,EAAE,oBAAoB;YAC3B,WAAW,EACT,8cAA8c;YAChd,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,KAAK;YACf,eAAe,EAAE,eAAe;SACjC;KACF;IACD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;QAChD,MAAM,MAAM,GAAG,IAAI,wBAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QACnD,OAAO,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;IACtC,CAAC;CACF,CAAA;AAED,kBAAe,MAAM,CAAA"}
@@ -1,8 +1,10 @@
1
1
  export interface Payload {
2
- customerProfileId: string;
3
- attributes?: {
4
- [k: string]: unknown;
5
- };
2
+ data: {
3
+ customerProfileId: string;
4
+ attributes?: {
5
+ [k: string]: unknown;
6
+ };
7
+ }[];
6
8
  mutualAttributes?: {
7
9
  [k: string]: unknown;
8
10
  };
@@ -5,20 +5,28 @@ const action = {
5
5
  title: 'Update Multiple Customer Profiles’ Attributes',
6
6
  description: 'This updates attributes for multiple customer profiles.',
7
7
  fields: {
8
- customerProfileId: { ...t1_properties_1.customerProfileId },
9
- attributes: { ...t1_properties_1.attribute },
10
- mutualAttributes: { ...t1_properties_1.attribute }
8
+ data: {
9
+ label: 'Data item to change customer profile attributes',
10
+ description: 'An array of JSON objects that contains customer profile identifier and list of attributes and their values. Customer profile ID is required.',
11
+ type: 'object',
12
+ multiple: true,
13
+ properties: {
14
+ customerProfileId: { ...t1_properties_1.customerProfileId },
15
+ attributes: { ...t1_properties_1.attribute }
16
+ },
17
+ required: true
18
+ },
19
+ mutualAttributes: {
20
+ ...t1_properties_1.attribute,
21
+ label: 'Mutual Attribute-Value pairs',
22
+ description: 'This may contain mutual list of attributes and their values for every customer profile in the "data" array.'
23
+ }
11
24
  },
12
25
  perform: (request, { payload }) => {
13
26
  return request(`https://integration.talon.one/segment/customer_profiles/attributes`, {
14
27
  method: 'put',
15
28
  json: {
16
- data: [
17
- {
18
- customerProfileId: payload.customerProfileId,
19
- attributes: payload.attributes
20
- }
21
- ],
29
+ data: payload.data,
22
30
  mutualAttributes: payload.mutualAttributes
23
31
  }
24
32
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/talon-one/updateCustomerProfilesAttributes/index.ts"],"names":[],"mappings":";;AAGA,oDAA+D;AAE/D,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,+CAA+C;IACtD,WAAW,EAAE,yDAAyD;IACtE,MAAM,EAAE;QACN,iBAAiB,EAAE,EAAE,GAAG,iCAAiB,EAAE;QAC3C,UAAU,EAAE,EAAE,GAAG,yBAAS,EAAE;QAC5B,gBAAgB,EAAE,EAAE,GAAG,yBAAS,EAAE;KACnC;IACD,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;QAEhC,OAAO,OAAO,CAAC,oEAAoE,EAAE;YACnF,MAAM,EAAE,KAAK;YACb,IAAI,EAAE;gBACJ,IAAI,EAAE;oBACJ;wBACE,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;wBAC5C,UAAU,EAAE,OAAO,CAAC,UAAU;qBAC/B;iBACF;gBACD,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;aAC3C;SACF,CAAC,CAAA;IACJ,CAAC;CACF,CAAA;AAED,kBAAe,MAAM,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/talon-one/updateCustomerProfilesAttributes/index.ts"],"names":[],"mappings":";;AAGA,oDAA+D;AAE/D,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,+CAA+C;IACtD,WAAW,EAAE,yDAAyD;IACtE,MAAM,EAAE;QACN,IAAI,EAAE;YACJ,KAAK,EAAE,iDAAiD;YACxD,WAAW,EACT,8IAA8I;YAChJ,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE;gBACV,iBAAiB,EAAE,EAAE,GAAG,iCAAiB,EAAE;gBAC3C,UAAU,EAAE,EAAE,GAAG,yBAAS,EAAE;aAC7B;YACD,QAAQ,EAAE,IAAI;SACf;QACD,gBAAgB,EAAE;YAChB,GAAG,yBAAS;YACZ,KAAK,EAAE,8BAA8B;YACrC,WAAW,EACT,6GAA6G;SAChH;KACF;IACD,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;QAEhC,OAAO,OAAO,CAAC,oEAAoE,EAAE;YACnF,MAAM,EAAE,KAAK;YACb,IAAI,EAAE;gBACJ,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;aAC3C;SACF,CAAC,CAAA;IACJ,CAAC;CACF,CAAA;AAED,kBAAe,MAAM,CAAA"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@segment/action-destinations",
3
3
  "description": "Destination Actions engine and definitions.",
4
- "version": "3.64.0",
4
+ "version": "3.66.0",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "https://github.com/segmentio/action-destinations",
@@ -62,5 +62,5 @@
62
62
  "<rootDir>/test/setup-after-env.ts"
63
63
  ]
64
64
  },
65
- "gitHead": "4ff4c4a172e3b30c7351b7adc72ff8d3f7d93dec"
65
+ "gitHead": "7eb0aff8ae0fc7aae7b282a2ab9ea821dffc234b"
66
66
  }
@@ -1,2 +0,0 @@
1
- import { InputField } from '@segment/actions-core';
2
- export declare const commonFields: Record<string, InputField>;
@@ -1,21 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.commonFields = void 0;
4
- exports.commonFields = {
5
- identifyByKey: {
6
- label: 'Contact IdentifyBy key',
7
- description: 'Property key by which Cordial contact should be identified. May be any primary or secondary key (e.g. cID, email, segment_id etc.)',
8
- type: 'string',
9
- required: true
10
- },
11
- identifyByValue: {
12
- label: 'Contact IdentifyBy value',
13
- description: 'Value for defined key',
14
- type: 'string',
15
- required: true,
16
- default: {
17
- '@path': '$.userId'
18
- }
19
- }
20
- };
21
- //# sourceMappingURL=common-fields.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"common-fields.js","sourceRoot":"","sources":["../../../src/destinations/cordial/common-fields.ts"],"names":[],"mappings":";;;AAEa,QAAA,YAAY,GAA+B;IACtD,aAAa,EAAE;QACb,KAAK,EAAE,wBAAwB;QAC/B,WAAW,EACT,oIAAoI;QACtI,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,IAAI;KACf;IACD,eAAe,EAAE;QACf,KAAK,EAAE,0BAA0B;QACjC,WAAW,EAAE,uBAAuB;QACpC,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE;YACP,OAAO,EAAE,UAAU;SACpB;KACF;CACF,CAAA"}
@@ -1,5 +0,0 @@
1
- export interface UserIdentifier {
2
- [key: string]: string | string[];
3
- identifyBy: string[];
4
- }
5
- export declare function getUserIdentifier(identifyByKey: string, identifyByValue: string): UserIdentifier;
@@ -1,11 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getUserIdentifier = void 0;
4
- function getUserIdentifier(identifyByKey, identifyByValue) {
5
- return {
6
- [identifyByKey]: identifyByValue,
7
- identifyBy: [identifyByKey]
8
- };
9
- }
10
- exports.getUserIdentifier = getUserIdentifier;
11
- //# sourceMappingURL=user-identifier.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"user-identifier.js","sourceRoot":"","sources":["../../../src/destinations/cordial/user-identifier.ts"],"names":[],"mappings":";;;AAKA,SAAgB,iBAAiB,CAAC,aAAqB,EAAE,eAAuB;IAC9E,OAAO;QACL,CAAC,aAAa,CAAC,EAAE,eAAe;QAChC,UAAU,EAAE,CAAC,aAAa,CAAC;KAC5B,CAAA;AACH,CAAC;AALD,8CAKC"}