@segment/action-destinations 3.437.1-staging-ea6c83c19.0 → 3.437.1-staging-03ca01662.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 (38) hide show
  1. package/dist/destinations/linkedin-audiences/api.d.ts +4 -5
  2. package/dist/destinations/linkedin-audiences/api.js +10 -11
  3. package/dist/destinations/linkedin-audiences/api.js.map +1 -1
  4. package/dist/destinations/linkedin-audiences/common-functions.d.ts +9 -0
  5. package/dist/destinations/linkedin-audiences/common-functions.js +87 -0
  6. package/dist/destinations/linkedin-audiences/common-functions.js.map +1 -0
  7. package/dist/destinations/linkedin-audiences/constants.d.ts +8 -0
  8. package/dist/destinations/linkedin-audiences/constants.js +9 -1
  9. package/dist/destinations/linkedin-audiences/constants.js.map +1 -1
  10. package/dist/destinations/linkedin-audiences/index.js +5 -3
  11. package/dist/destinations/linkedin-audiences/index.js.map +1 -1
  12. package/dist/destinations/linkedin-audiences/types.d.ts +53 -8
  13. package/dist/destinations/linkedin-audiences/types.js.map +1 -1
  14. package/dist/destinations/linkedin-audiences/updateAudience/fields.js +36 -21
  15. package/dist/destinations/linkedin-audiences/updateAudience/fields.js.map +1 -1
  16. package/dist/destinations/linkedin-audiences/updateAudience/functions.d.ts +9 -4
  17. package/dist/destinations/linkedin-audiences/updateAudience/functions.js +83 -95
  18. package/dist/destinations/linkedin-audiences/updateAudience/functions.js.map +1 -1
  19. package/dist/destinations/linkedin-audiences/updateAudience/generated-types.d.ts +2 -1
  20. package/dist/destinations/linkedin-audiences/updateAudience/index.js +6 -4
  21. package/dist/destinations/linkedin-audiences/updateAudience/index.js.map +1 -1
  22. package/dist/destinations/linkedin-audiences/updateCompanyAudience/fields.d.ts +2 -0
  23. package/dist/destinations/linkedin-audiences/updateCompanyAudience/fields.js +109 -0
  24. package/dist/destinations/linkedin-audiences/updateCompanyAudience/fields.js.map +1 -0
  25. package/dist/destinations/linkedin-audiences/updateCompanyAudience/functions.d.ts +9 -0
  26. package/dist/destinations/linkedin-audiences/updateCompanyAudience/functions.js +50 -0
  27. package/dist/destinations/linkedin-audiences/updateCompanyAudience/functions.js.map +1 -0
  28. package/dist/destinations/linkedin-audiences/updateCompanyAudience/generated-types.d.ts +15 -0
  29. package/dist/destinations/linkedin-audiences/updateCompanyAudience/generated-types.js +3 -0
  30. package/dist/destinations/linkedin-audiences/updateCompanyAudience/generated-types.js.map +1 -0
  31. package/dist/destinations/linkedin-audiences/updateCompanyAudience/index.d.ts +5 -0
  32. package/dist/destinations/linkedin-audiences/updateCompanyAudience/index.js +20 -0
  33. package/dist/destinations/linkedin-audiences/updateCompanyAudience/index.js.map +1 -0
  34. package/dist/destinations/ms-bing-ads-audiences/index.js +1 -1
  35. package/dist/destinations/ms-bing-ads-audiences/index.js.map +1 -1
  36. package/dist/destinations/ms-bing-ads-audiences/syncAudiences/fields.js +13 -17
  37. package/dist/destinations/ms-bing-ads-audiences/syncAudiences/fields.js.map +1 -1
  38. package/package.json +2 -2
@@ -1,13 +1,12 @@
1
1
  import type { RequestClient, ModifiedResponse } from '@segment/actions-core';
2
2
  import type { Settings } from './generated-types';
3
- import type { Payload } from './updateAudience/generated-types';
4
- import type { ProfileAPIResponse, AdAccountUserResponse, LinkedInAudiencePayload } from './types';
3
+ import type { ProfileAPIResponse, AdAccountUserResponse, AudienceJSON, LinkedInBatchUpdateResponse, CreateDMPSegmentResponse, GetDMPSegmentResponse, SegmentType } from './types';
5
4
  export declare class LinkedInAudiences {
6
5
  request: RequestClient;
7
6
  constructor(request: RequestClient);
8
7
  getProfile(): Promise<ModifiedResponse<ProfileAPIResponse>>;
9
8
  getAdAccountUserProfile(settings: Settings, userId: string): Promise<ModifiedResponse<AdAccountUserResponse>>;
10
- getDmpSegment(settings: Settings, payload: Payload): Promise<ModifiedResponse>;
11
- createDmpSegment(settings: Settings, payload: Payload): Promise<ModifiedResponse>;
12
- batchUpdate(dmpSegmentId: string, elements: LinkedInAudiencePayload[]): Promise<ModifiedResponse>;
9
+ getDmpSegment(settings: Settings, sourceSegmentId?: string): Promise<ModifiedResponse<GetDMPSegmentResponse>>;
10
+ createDmpSegment(settings: Settings, sourceSegmentId: string, segmentName: string, segmentType: SegmentType): Promise<ModifiedResponse<CreateDMPSegmentResponse>>;
11
+ batchUpdate<E>(dmpSegmentId: string, json: AudienceJSON<E>, segmentType: SegmentType): Promise<ModifiedResponse<LinkedInBatchUpdateResponse>>;
13
12
  }
@@ -16,26 +16,26 @@ class LinkedInAudiences {
16
16
  method: 'GET'
17
17
  });
18
18
  }
19
- async getDmpSegment(settings, payload) {
19
+ async getDmpSegment(settings, sourceSegmentId = '') {
20
20
  return this.request(`${constants_1.BASE_URL}/dmpSegments`, {
21
21
  method: 'GET',
22
22
  searchParams: {
23
23
  q: 'account',
24
24
  account: `urn:li:sponsoredAccount:${settings.ad_account_id}`,
25
- sourceSegmentId: payload.personas_audience_key || '',
25
+ sourceSegmentId,
26
26
  sourcePlatform: constants_1.LINKEDIN_SOURCE_PLATFORM
27
27
  }
28
28
  });
29
29
  }
30
- async createDmpSegment(settings, payload) {
30
+ async createDmpSegment(settings, sourceSegmentId, segmentName, segmentType) {
31
31
  return this.request(`${constants_1.BASE_URL}/dmpSegments`, {
32
32
  method: 'POST',
33
33
  json: {
34
- name: payload.dmp_segment_name,
34
+ name: segmentName,
35
35
  sourcePlatform: constants_1.LINKEDIN_SOURCE_PLATFORM,
36
- sourceSegmentId: payload.personas_audience_key,
36
+ sourceSegmentId,
37
37
  account: `urn:li:sponsoredAccount:${settings.ad_account_id}`,
38
- type: 'USER',
38
+ type: segmentType,
39
39
  destinations: [
40
40
  {
41
41
  destination: 'LINKEDIN'
@@ -44,15 +44,14 @@ class LinkedInAudiences {
44
44
  }
45
45
  });
46
46
  }
47
- async batchUpdate(dmpSegmentId, elements) {
48
- return this.request(`${constants_1.BASE_URL}/dmpSegments/${dmpSegmentId}/users`, {
47
+ async batchUpdate(dmpSegmentId, json, segmentType) {
48
+ const url = `${constants_1.BASE_URL}/dmpSegments/${dmpSegmentId}/${segmentType === constants_1.SEGMENT_TYPES.COMPANY ? 'companies' : 'users'}`;
49
+ return this.request(url, {
49
50
  method: 'POST',
50
51
  headers: {
51
52
  'X-RestLi-Method': 'BATCH_CREATE'
52
53
  },
53
- json: {
54
- elements
55
- },
54
+ json,
56
55
  throwHttpErrors: false
57
56
  });
58
57
  }
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/destinations/linkedin-audiences/api.ts"],"names":[],"mappings":";;;AAIA,2CAAgE;AAGhE,MAAa,iBAAiB;IAG5B,YAAY,OAAsB;QAChC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAED,KAAK,CAAC,UAAU;QACd,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,oBAAQ,KAAK,EAAE;YACpC,MAAM,EAAE,KAAK;SACd,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,QAAkB,EAAE,MAAc;QAC9D,OAAO,IAAI,CAAC,OAAO,CACjB,GAAG,oBAAQ,mDAAmD,QAAQ,CAAC,aAAa,uBAAuB,MAAM,EAAE,EACnH;YACE,MAAM,EAAE,KAAK;SACd,CACF,CAAA;IACH,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,QAAkB,EAAE,OAAgB;QACtD,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,oBAAQ,cAAc,EAAE;YAC7C,MAAM,EAAE,KAAK;YACb,YAAY,EAAE;gBACZ,CAAC,EAAE,SAAS;gBACZ,OAAO,EAAE,2BAA2B,QAAQ,CAAC,aAAa,EAAE;gBAC5D,eAAe,EAAE,OAAO,CAAC,qBAAqB,IAAI,EAAE;gBACpD,cAAc,EAAE,oCAAwB;aACzC;SACF,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,QAAkB,EAAE,OAAgB;QACzD,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,oBAAQ,cAAc,EAAE;YAC7C,MAAM,EAAE,MAAM;YACd,IAAI,EAAE;gBACJ,IAAI,EAAE,OAAO,CAAC,gBAAgB;gBAC9B,cAAc,EAAE,oCAAwB;gBACxC,eAAe,EAAE,OAAO,CAAC,qBAAqB;gBAC9C,OAAO,EAAE,2BAA2B,QAAQ,CAAC,aAAa,EAAE;gBAC5D,IAAI,EAAE,MAAM;gBACZ,YAAY,EAAE;oBACZ;wBACE,WAAW,EAAE,UAAU;qBACxB;iBACF;aACF;SACF,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,YAAoB,EAAE,QAAmC;QACzE,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,oBAAQ,gBAAgB,YAAY,QAAQ,EAAE;YACnE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,iBAAiB,EAAE,cAAc;aAClC;YACD,IAAI,EAAE;gBACJ,QAAQ;aACT;YACD,eAAe,EAAE,KAAK;SACvB,CAAC,CAAA;IACJ,CAAC;CACF;AAhED,8CAgEC"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/destinations/linkedin-audiences/api.ts"],"names":[],"mappings":";;;AAEA,2CAA+E;AAW/E,MAAa,iBAAiB;IAG5B,YAAY,OAAsB;QAChC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAED,KAAK,CAAC,UAAU;QACd,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,oBAAQ,KAAK,EAAE;YACpC,MAAM,EAAE,KAAK;SACd,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,QAAkB,EAAE,MAAc;QAC9D,OAAO,IAAI,CAAC,OAAO,CACjB,GAAG,oBAAQ,mDAAmD,QAAQ,CAAC,aAAa,uBAAuB,MAAM,EAAE,EACnH;YACE,MAAM,EAAE,KAAK;SACd,CACF,CAAA;IACH,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,QAAkB,EAAE,eAAe,GAAG,EAAE;QAC1D,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,oBAAQ,cAAc,EAAE;YAC7C,MAAM,EAAE,KAAK;YACb,YAAY,EAAE;gBACZ,CAAC,EAAE,SAAS;gBACZ,OAAO,EAAE,2BAA2B,QAAQ,CAAC,aAAa,EAAE;gBAC5D,eAAe;gBACf,cAAc,EAAE,oCAAwB;aACzC;SACF,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,QAAkB,EAAE,eAAuB,EAAE,WAAmB,EAAE,WAAwB;QAC/G,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,oBAAQ,cAAc,EAAE;YAC7C,MAAM,EAAE,MAAM;YACd,IAAI,EAAE;gBACJ,IAAI,EAAE,WAAW;gBACjB,cAAc,EAAE,oCAAwB;gBACxC,eAAe;gBACf,OAAO,EAAE,2BAA2B,QAAQ,CAAC,aAAa,EAAE;gBAC5D,IAAI,EAAE,WAAW;gBACjB,YAAY,EAAE;oBACZ;wBACE,WAAW,EAAE,UAAU;qBACxB;iBACF;aACF;SACF,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,WAAW,CAAI,YAAoB,EAAE,IAAqB,EAAE,WAAwB;QACxF,MAAM,GAAG,GAAG,GAAG,oBAAQ,gBAAgB,YAAY,IAAI,WAAW,KAAK,yBAAa,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,EAAE,CAAA;QACtH,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;YACvB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,iBAAiB,EAAE,cAAc;aAClC;YACD,IAAI;YACJ,eAAe,EAAE,KAAK;SACvB,CAAC,CAAA;IACJ,CAAC;CACF;AA/DD,8CA+DC"}
@@ -0,0 +1,9 @@
1
+ import { StatsContext, MultiStatusResponse, RequestClient } from '@segment/actions-core';
2
+ import type { Settings } from './generated-types';
3
+ import { SegmentType, AudienceJSON } from './types';
4
+ export declare function send<P, E>(request: RequestClient, getSegmentSourceIdAndName: (payload: P) => {
5
+ sourceSegmentId: string;
6
+ segmentName: string;
7
+ }, buildJSON: (payloads: P[], settings: Settings) => AudienceJSON<E>, validate: (payloads: P[], msResponse: MultiStatusResponse, isBatch: boolean, settings: Settings) => (P & {
8
+ index: number;
9
+ })[], settings: Settings, payloads: P[], segmentType: SegmentType, isBatch: boolean, statsContext: StatsContext | undefined): Promise<MultiStatusResponse | import("@segment/actions-core/src").ModifiedResponse<import("./types").LinkedInBatchUpdateResponse>>;
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.send = send;
4
+ const actions_core_1 = require("@segment/actions-core");
5
+ const api_1 = require("./api");
6
+ const constants_1 = require("./constants");
7
+ async function send(request, getSegmentSourceIdAndName, buildJSON, validate, settings, payloads, segmentType, isBatch, statsContext) {
8
+ const msResponse = new actions_core_1.MultiStatusResponse();
9
+ const validPayloads = validate(payloads, msResponse, isBatch, settings);
10
+ if (validPayloads.length === 0) {
11
+ if (isBatch) {
12
+ return msResponse;
13
+ }
14
+ else {
15
+ throw new actions_core_1.PayloadValidationError('No valid payloads to process after validation.');
16
+ }
17
+ }
18
+ const { sourceSegmentId, segmentName } = getSegmentSourceIdAndName(payloads[0]);
19
+ const linkedinApiClient = new api_1.LinkedInAudiences(request);
20
+ const { id, type } = await getDmpSegmentIdAndType(linkedinApiClient, settings, sourceSegmentId, segmentName, segmentType, statsContext);
21
+ if (type != segmentType) {
22
+ if (isBatch) {
23
+ payloads.forEach((_, index) => {
24
+ msResponse.setErrorResponseAtIndex(index, {
25
+ status: 400,
26
+ errortype: 'PAYLOAD_VALIDATION_FAILED',
27
+ errormessage: `The existing DMP Segment with Source Segment Id ${sourceSegmentId} is of type ${type} and cannot be used to update a segment of type ${segmentType}.`
28
+ });
29
+ });
30
+ return msResponse;
31
+ }
32
+ else {
33
+ throw new actions_core_1.PayloadValidationError(`The existing DMP Segment with Source Segment Id ${sourceSegmentId} is of type ${type} and cannot be used to update a segment of type ${segmentType}.`);
34
+ }
35
+ }
36
+ const json = buildJSON(validPayloads, settings);
37
+ statsContext?.statsClient?.incr('oauth_app_api_call', 1, [
38
+ ...statsContext?.tags,
39
+ `endpoint:add-or-remove-users-from-${segmentType === constants_1.SEGMENT_TYPES.COMPANY ? 'abm-' : ''}dmpSegment`
40
+ ]);
41
+ const response = await linkedinApiClient.batchUpdate(id, json, segmentType);
42
+ if (response.status !== 200) {
43
+ throw new actions_core_1.RetryableError('Error while attempting to update LinkedIn DMP Segment. This batch will be retried.');
44
+ }
45
+ if (isBatch) {
46
+ const sentElements = json.elements;
47
+ validPayloads.forEach((payload, index) => {
48
+ const e = response.data.elements[index];
49
+ if (e.status >= 200 && e.status < 300) {
50
+ msResponse.setSuccessResponseAtIndex(payload.index, {
51
+ status: e.status,
52
+ sent: payload,
53
+ body: { elements: [sentElements[index]] }
54
+ });
55
+ }
56
+ else {
57
+ msResponse.setErrorResponseAtIndex(payload.index, {
58
+ status: e.status,
59
+ errortype: 'BAD_REQUEST',
60
+ errormessage: e.message || 'Failed to update LinkedIn Audience',
61
+ sent: payload,
62
+ body: { elements: [sentElements[index]] }
63
+ });
64
+ }
65
+ });
66
+ return msResponse;
67
+ }
68
+ else {
69
+ return response;
70
+ }
71
+ }
72
+ async function getDmpSegmentIdAndType(linkedinApiClient, settings, sourceSegmentId, segmentName, segmentType, statsContext) {
73
+ statsContext?.statsClient?.incr('oauth_app_api_call', 1, [...statsContext?.tags, `endpoint:get-${segmentType === constants_1.SEGMENT_TYPES.COMPANY ? 'abm-' : ''}dmpSegment`]);
74
+ const response = await linkedinApiClient.getDmpSegment(settings, sourceSegmentId);
75
+ const { id, type } = response.data?.elements?.[0] || {};
76
+ if (id && type) {
77
+ return { id, type };
78
+ }
79
+ return createDmpSegment(linkedinApiClient, settings, sourceSegmentId, segmentName, segmentType, statsContext);
80
+ }
81
+ async function createDmpSegment(linkedinApiClient, settings, sourceSegmentId, segmentName, segmentType, statsContext) {
82
+ statsContext?.statsClient?.incr('oauth_app_api_call', 1, [...statsContext?.tags, `endpoint:create-${segmentType === constants_1.SEGMENT_TYPES.COMPANY ? 'abm-' : ''}dmpSegment`]);
83
+ const res = await linkedinApiClient.createDmpSegment(settings, sourceSegmentId, segmentName, segmentType);
84
+ const { id, type } = res.data;
85
+ return { id, type };
86
+ }
87
+ //# sourceMappingURL=common-functions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common-functions.js","sourceRoot":"","sources":["../../../src/destinations/linkedin-audiences/common-functions.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,11 @@
1
1
  export declare const LINKEDIN_API_VERSION = "202505";
2
2
  export declare const BASE_URL = "https://api.linkedin.com/rest";
3
3
  export declare const LINKEDIN_SOURCE_PLATFORM = "SEGMENT";
4
+ export declare const SEGMENT_TYPES: {
5
+ readonly USER: "USER";
6
+ readonly COMPANY: "COMPANY";
7
+ };
8
+ export declare const AUDIENCE_ACTION: {
9
+ readonly ADD: "ADD";
10
+ readonly REMOVE: "REMOVE";
11
+ };
@@ -1,7 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.LINKEDIN_SOURCE_PLATFORM = exports.BASE_URL = exports.LINKEDIN_API_VERSION = void 0;
3
+ exports.AUDIENCE_ACTION = exports.SEGMENT_TYPES = exports.LINKEDIN_SOURCE_PLATFORM = exports.BASE_URL = exports.LINKEDIN_API_VERSION = void 0;
4
4
  exports.LINKEDIN_API_VERSION = '202505';
5
5
  exports.BASE_URL = 'https://api.linkedin.com/rest';
6
6
  exports.LINKEDIN_SOURCE_PLATFORM = 'SEGMENT';
7
+ exports.SEGMENT_TYPES = {
8
+ USER: 'USER',
9
+ COMPANY: 'COMPANY'
10
+ };
11
+ exports.AUDIENCE_ACTION = {
12
+ ADD: 'ADD',
13
+ REMOVE: 'REMOVE'
14
+ };
7
15
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/destinations/linkedin-audiences/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,oBAAoB,GAAG,QAAQ,CAAA;AAC/B,QAAA,QAAQ,GAAG,+BAA+B,CAAA;AAC1C,QAAA,wBAAwB,GAAG,SAAS,CAAA"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/destinations/linkedin-audiences/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,oBAAoB,GAAG,QAAQ,CAAA;AAC/B,QAAA,QAAQ,GAAG,+BAA+B,CAAA;AAC1C,QAAA,wBAAwB,GAAG,SAAS,CAAA;AACpC,QAAA,aAAa,GAAG;IAC3B,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,SAAS;CACV,CAAA;AAEG,QAAA,eAAe,GAAG;IAC7B,GAAG,EAAE,KAAK;IACV,MAAM,EAAE,QAAQ;CACR,CAAA"}
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const https_1 = __importDefault(require("https"));
7
7
  const actions_core_1 = require("@segment/actions-core");
8
8
  const updateAudience_1 = __importDefault(require("./updateAudience"));
9
+ const updateCompanyAudience_1 = __importDefault(require("./updateCompanyAudience"));
9
10
  const constants_1 = require("./constants");
10
11
  const api_1 = require("./api");
11
12
  const destination = {
@@ -23,14 +24,14 @@ const destination = {
23
24
  },
24
25
  send_email: {
25
26
  label: 'Send Email',
26
- description: 'Whether to send `email` to LinkedIn. This setting applies to all mappings you create in this destination instance.',
27
+ description: 'Whether to send `email` to LinkedIn when using a User LinkedIn Segment.',
27
28
  type: 'boolean',
28
29
  default: true,
29
30
  required: true
30
31
  },
31
32
  send_google_advertising_id: {
32
33
  label: 'Send Google Advertising ID',
33
- description: 'Whether to send Google Advertising ID to LinkedIn. This setting applies to all mappings you create in this destination instance.',
34
+ description: 'Whether to send Google Advertising ID to LinkedIn when using a User LinkedIn Segment.',
34
35
  type: 'boolean',
35
36
  default: true,
36
37
  required: true
@@ -107,7 +108,8 @@ const destination = {
107
108
  };
108
109
  },
109
110
  actions: {
110
- updateAudience: updateAudience_1.default
111
+ updateAudience: updateAudience_1.default,
112
+ updateCompanyAudience: updateCompanyAudience_1.default
111
113
  }
112
114
  };
113
115
  exports.default = destination;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/destinations/linkedin-audiences/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/destinations/linkedin-audiences/index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,44 @@
1
1
  import { HTTPError } from '@segment/actions-core';
2
+ import { SEGMENT_TYPES, AUDIENCE_ACTION } from './constants';
3
+ import { Payload as UserPayload } from './updateAudience/generated-types';
4
+ import { Payload as CompanyPayload } from './updateCompanyAudience/generated-types';
5
+ export type SegmentType = typeof SEGMENT_TYPES[keyof typeof SEGMENT_TYPES];
6
+ export type AudienceAction = typeof AUDIENCE_ACTION[keyof typeof AUDIENCE_ACTION];
7
+ export type ValidUserPayload = (UserPayload & {
8
+ index: number;
9
+ });
10
+ export type ValidCompanyPayload = (CompanyPayload & {
11
+ index: number;
12
+ });
13
+ export interface AudienceJSON<E> {
14
+ elements: E[];
15
+ }
16
+ export interface LinkedInCompanyAudienceElement {
17
+ action: 'ADD' | 'REMOVE';
18
+ companyIds: ({
19
+ idType: 'DOMAIN';
20
+ idValue: string;
21
+ } | {
22
+ idType: 'LINKEDIN_COMPANY_ID';
23
+ idValue: string;
24
+ })[];
25
+ }
26
+ export interface LinkedInUserAudienceElement {
27
+ action: 'ADD' | 'REMOVE';
28
+ userIds: LinkedInUserId[];
29
+ firstName?: string;
30
+ lastName?: string;
31
+ title?: string;
32
+ company?: string;
33
+ country?: string;
34
+ }
35
+ export type LinkedInUserId = {
36
+ idType: 'SHA256_EMAIL';
37
+ idValue: string;
38
+ } | {
39
+ idType: 'GOOGLE_AID';
40
+ idValue: string;
41
+ };
2
42
  export interface RefreshTokenResponse {
3
43
  access_token: string;
4
44
  scope: string;
@@ -11,14 +51,19 @@ export interface ProfileAPIResponse {
11
51
  export interface AdAccountUserResponse {
12
52
  role: string;
13
53
  }
14
- export interface LinkedInAudiencePayload {
15
- action: 'ADD' | 'REMOVE';
16
- userIds: Record<string, string>[];
17
- firstName?: string;
18
- lastName?: string;
19
- title?: string;
20
- company?: string;
21
- country?: string;
54
+ export interface GetDMPSegmentResponse {
55
+ elements: Array<CreateDMPSegmentResponse>;
56
+ }
57
+ export interface CreateDMPSegmentResponse {
58
+ id: string;
59
+ type: 'USER' | 'COMPANY';
60
+ }
61
+ export interface LinkedInBatchUpdateResponse {
62
+ elements: Array<{
63
+ status: number;
64
+ id?: string;
65
+ message?: string;
66
+ }>;
22
67
  }
23
68
  export declare class LinkedInRefreshTokenError extends HTTPError {
24
69
  response: Response & {
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/destinations/linkedin-audiences/types.ts"],"names":[],"mappings":";;;AAAA,wDAAiD;AA2BjD,MAAa,yBAA0B,SAAQ,wBAAS;CAOvD;AAPD,8DAOC;AAED,MAAa,+BAAgC,SAAQ,wBAAS;CAM7D;AAND,0EAMC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/destinations/linkedin-audiences/types.ts"],"names":[],"mappings":";;;AAAA,wDAAiD;AAqEjD,MAAa,yBAA0B,SAAQ,wBAAS;CAOvD;AAPD,8DAOC;AAED,MAAa,+BAAgC,SAAQ,wBAAS;CAM7D;AAND,0EAMC"}
@@ -1,10 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.fields = void 0;
4
+ const constants_1 = require("../constants");
4
5
  exports.fields = {
5
6
  dmp_segment_name: {
6
- label: 'DMP Segment Display Name',
7
- description: 'The display name of the LinkedIn DMP Segment. This field is set only when Segment creates a new audience. Updating this field after Segment has created an audience will not update the audience name in LinkedIn.',
7
+ label: 'Segment Creation Name',
8
+ description: 'The name of the segment to create. This field is no longer used after the Segment is created in LinkedIn.',
8
9
  type: 'string',
9
10
  default: {
10
11
  '@if': {
@@ -15,8 +16,8 @@ exports.fields = {
15
16
  }
16
17
  },
17
18
  enable_batching: {
18
- label: 'Enable Batching',
19
- description: 'Enable batching of requests to the LinkedIn DMP Segment.',
19
+ label: '[Hidden] Enable Batching',
20
+ description: '[Hidden] Enable batching of requests to the LinkedIn DMP Segment.',
20
21
  type: 'boolean',
21
22
  default: true,
22
23
  unsafe_hidden: true
@@ -29,7 +30,7 @@ exports.fields = {
29
30
  '@if': {
30
31
  exists: { '@path': '$.context.traits.email' },
31
32
  then: { '@path': '$.context.traits.email' },
32
- else: { '@path': '$.traits.email' }
33
+ else: { '@path': '$.properties.email' }
33
34
  }
34
35
  },
35
36
  category: 'hashedPII'
@@ -39,7 +40,7 @@ exports.fields = {
39
40
  description: "The user's first name to send to LinkedIn.",
40
41
  type: 'string',
41
42
  default: {
42
- '@path': '$.traits.firstName'
43
+ '@path': '$.properties.first_name'
43
44
  }
44
45
  },
45
46
  last_name: {
@@ -47,7 +48,7 @@ exports.fields = {
47
48
  description: "The user's last name to send to LinkedIn.",
48
49
  type: 'string',
49
50
  default: {
50
- '@path': '$.traits.lastName'
51
+ '@path': '$.properties.last_name'
51
52
  }
52
53
  },
53
54
  title: {
@@ -55,7 +56,7 @@ exports.fields = {
55
56
  description: "The user's title to send to LinkedIn.",
56
57
  type: 'string',
57
58
  default: {
58
- '@path': '$.traits.title'
59
+ '@path': '$.properties.title'
59
60
  }
60
61
  },
61
62
  company: {
@@ -63,7 +64,7 @@ exports.fields = {
63
64
  description: "The user's company to send to LinkedIn.",
64
65
  type: 'string',
65
66
  default: {
66
- '@path': '$.traits.company'
67
+ '@path': '$.properties.company'
67
68
  }
68
69
  },
69
70
  country: {
@@ -71,21 +72,25 @@ exports.fields = {
71
72
  description: "The user's country to send to LinkedIn. This field accepts an ISO standardized two letter country code e.g. US.",
72
73
  type: 'string',
73
74
  default: {
74
- '@path': '$.traits.country'
75
+ '@path': '$.properties.country'
75
76
  }
76
77
  },
77
78
  google_advertising_id: {
78
79
  label: 'User Google Advertising ID',
79
80
  description: "The user's Google Advertising ID to send to LinkedIn.",
80
81
  type: 'string',
81
- unsafe_hidden: true,
82
+ unsafe_hidden: false,
82
83
  default: {
83
- '@path': '$.context.device.advertisingId'
84
+ '@if': {
85
+ exists: { '@path': '$.properties.android_idfa' },
86
+ then: { '@path': '$.properties.android_idfa' },
87
+ else: { '@path': '$.context.device.advertisingId' }
88
+ }
84
89
  }
85
90
  },
86
91
  source_segment_id: {
87
- label: 'LinkedIn Source Segment ID',
88
- description: "A Segment-specific key associated with the LinkedIn DMP Segment. This is the lookup key Segment uses to fetch the DMP Segment from LinkedIn's API.",
92
+ label: '[Hidden] LinkedIn Source Segment ID',
93
+ description: "[Hidden] A Segment-specific key associated with the LinkedIn DMP Segment. This is the lookup key Segment uses to fetch the DMP Segment from LinkedIn's API.",
89
94
  type: 'string',
90
95
  unsafe_hidden: true,
91
96
  default: {
@@ -97,10 +102,11 @@ exports.fields = {
97
102
  }
98
103
  },
99
104
  personas_audience_key: {
100
- label: 'Segment Engage Audience Key',
101
- description: 'The `audience_key` of the Engage audience you want to sync to LinkedIn. This value must be a hard-coded string variable, e.g. `personas_test_audience`, in order for batching to work properly.',
105
+ label: '[Hidden] Segment Engage Audience Key',
106
+ description: '[Hidden] The `audience_key` of the Engage audience you want to sync to LinkedIn. This value must be a hard-coded string variable, e.g. `personas_test_audience`, in order for batching to work properly.',
102
107
  type: 'string',
103
- required: true
108
+ required: false,
109
+ unsafe_hidden: true
104
110
  },
105
111
  event_name: {
106
112
  label: 'Event Name',
@@ -112,15 +118,24 @@ exports.fields = {
112
118
  }
113
119
  },
114
120
  dmp_user_action: {
115
- label: 'DMP User Action',
116
- description: 'A Segment specific key used to define action type.',
121
+ label: 'User Segment Action',
122
+ description: 'Specifies if the user should be added or removed from the LinkedIn DMP User Segment.',
117
123
  type: 'string',
118
124
  choices: [
119
125
  { label: `Auto Detect`, value: 'AUTO' },
120
- { label: `Add`, value: 'ADD' },
121
- { label: 'Remove', value: 'REMOVE' }
126
+ { label: `Add`, value: constants_1.AUDIENCE_ACTION.ADD },
127
+ { label: 'Remove', value: constants_1.AUDIENCE_ACTION.REMOVE }
122
128
  ],
123
129
  default: 'AUTO'
130
+ },
131
+ batch_keys: {
132
+ label: '[Hidden] Batch Keys',
133
+ description: '[Hidden] Batch key used to ensure a batch contains payloads from a single Audience only.',
134
+ type: 'string',
135
+ unsafe_hidden: true,
136
+ required: false,
137
+ multiple: true,
138
+ default: ['source_segment_id', 'personas_audience_key']
124
139
  }
125
140
  };
126
141
  //# sourceMappingURL=fields.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fields.js","sourceRoot":"","sources":["../../../../src/destinations/linkedin-audiences/updateAudience/fields.ts"],"names":[],"mappings":";;;AAEa,QAAA,MAAM,GAA+B;IAChD,gBAAgB,EAAE;QAChB,KAAK,EAAE,0BAA0B;QACjC,WAAW,EACT,oNAAoN;QACtN,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,MAAM,EAAE,EAAE,OAAO,EAAE,2BAA2B,EAAE;gBAChD,IAAI,EAAE,EAAE,OAAO,EAAE,2BAA2B,EAAE;gBAC9C,IAAI,EAAE,EAAE,OAAO,EAAE,oCAAoC,EAAE;aACxD;SACF;KACF;IACD,eAAe,EAAE;QACf,KAAK,EAAE,iBAAiB;QACxB,WAAW,EAAE,0DAA0D;QACvE,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,IAAI;QACb,aAAa,EAAE,IAAI;KACpB;IACD,KAAK,EAAE;QACL,KAAK,EAAE,YAAY;QACnB,WAAW,EAAE,+CAA+C;QAC5D,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,MAAM,EAAE,EAAE,OAAO,EAAE,wBAAwB,EAAE;gBAC7C,IAAI,EAAE,EAAE,OAAO,EAAE,wBAAwB,EAAE;gBAC3C,IAAI,EAAE,EAAE,OAAO,EAAE,gBAAgB,EAAE;aACpC;SACF;QACD,QAAQ,EAAE,WAAW;KACtB;IACD,UAAU,EAAE;QACV,KAAK,EAAE,iBAAiB;QACxB,WAAW,EAAE,4CAA4C;QACzD,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE;YACP,OAAO,EAAE,oBAAoB;SAC9B;KACF;IACD,SAAS,EAAE;QACT,KAAK,EAAE,gBAAgB;QACvB,WAAW,EAAE,2CAA2C;QACxD,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE;YACP,OAAO,EAAE,mBAAmB;SAC7B;KACF;IACD,KAAK,EAAE;QACL,KAAK,EAAE,YAAY;QACnB,WAAW,EAAE,uCAAuC;QACpD,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE;YACP,OAAO,EAAE,gBAAgB;SAC1B;KACF;IACD,OAAO,EAAE;QACP,KAAK,EAAE,cAAc;QACrB,WAAW,EAAE,yCAAyC;QACtD,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE;YACP,OAAO,EAAE,kBAAkB;SAC5B;KACF;IACD,OAAO,EAAE;QACP,KAAK,EAAE,cAAc;QACrB,WAAW,EACT,iHAAiH;QACnH,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE;YACP,OAAO,EAAE,kBAAkB;SAC5B;KACF;IACD,qBAAqB,EAAE;QACrB,KAAK,EAAE,4BAA4B;QACnC,WAAW,EAAE,uDAAuD;QACpE,IAAI,EAAE,QAAQ;QACd,aAAa,EAAE,IAAI;QACnB,OAAO,EAAE;YACP,OAAO,EAAE,gCAAgC;SAC1C;KACF;IACD,iBAAiB,EAAE;QACjB,KAAK,EAAE,4BAA4B;QACnC,WAAW,EACT,oJAAoJ;QACtJ,IAAI,EAAE,QAAQ;QACd,aAAa,EAAE,IAAI;QACnB,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,MAAM,EAAE,EAAE,OAAO,EAAE,2BAA2B,EAAE;gBAChD,IAAI,EAAE,EAAE,OAAO,EAAE,2BAA2B,EAAE;gBAC9C,IAAI,EAAE,EAAE,OAAO,EAAE,oCAAoC,EAAE;aACxD;SACF;KACF;IACD,qBAAqB,EAAE;QACrB,KAAK,EAAE,6BAA6B;QACpC,WAAW,EACT,iMAAiM;QACnM,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,IAAI;KACf;IACD,UAAU,EAAE;QACV,KAAK,EAAE,YAAY;QACnB,WAAW,EAAE,wCAAwC;QACrD,IAAI,EAAE,QAAQ;QACd,aAAa,EAAE,IAAI;QACnB,OAAO,EAAE;YACP,OAAO,EAAE,SAAS;SACnB;KACF;IACD,eAAe,EAAE;QACf,KAAK,EAAE,iBAAiB;QACxB,WAAW,EAAE,oDAAoD;QACjE,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE;YACP,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE;YACvC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;YAC9B,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;SACrC;QACD,OAAO,EAAE,MAAM;KAChB;CACF,CAAA"}
1
+ {"version":3,"file":"fields.js","sourceRoot":"","sources":["../../../../src/destinations/linkedin-audiences/updateAudience/fields.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,10 @@
1
- import type { StatsContext } from '@segment/actions-core';
2
- import { RequestClient } from '@segment/actions-core';
3
- import type { Settings } from '../generated-types';
1
+ import { MultiStatusResponse } from '@segment/actions-core';
4
2
  import type { Payload } from './generated-types';
5
- export declare function processPayload(request: RequestClient, settings: Settings, payloads: Payload[], statsContext: StatsContext | undefined): Promise<import("@segment/actions-core/src").ModifiedResponse<unknown> | undefined>;
3
+ import { AudienceJSON, LinkedInUserAudienceElement, ValidUserPayload } from '../types';
4
+ import type { Settings } from '../generated-types';
5
+ export declare function validate(payloads: Payload[], msResponse: MultiStatusResponse, isBatch: boolean, settings: Settings): ValidUserPayload[];
6
+ export declare function buildJSON(payloads: Payload[], settings: Settings): AudienceJSON<LinkedInUserAudienceElement>;
7
+ export declare function getSegmentSourceIdAndName(payload: Payload): {
8
+ sourceSegmentId: string;
9
+ segmentName: string;
10
+ };
@@ -1,112 +1,100 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.processPayload = processPayload;
3
+ exports.validate = validate;
4
+ exports.buildJSON = buildJSON;
5
+ exports.getSegmentSourceIdAndName = getSegmentSourceIdAndName;
4
6
  const actions_core_1 = require("@segment/actions-core");
5
- const api_1 = require("../api");
7
+ const constants_1 = require("../constants");
6
8
  const hashing_utils_1 = require("../../../lib/hashing-utils");
7
- async function processPayload(request, settings, payloads, statsContext) {
8
- validate(settings, payloads);
9
- const linkedinApiClient = new api_1.LinkedInAudiences(request);
10
- const dmpSegmentId = await getDmpSegmentId(linkedinApiClient, settings, payloads[0], statsContext);
11
- const elements = extractUsers(settings, payloads);
12
- if (elements.length < 1) {
13
- return;
14
- }
15
- statsContext?.statsClient?.incr('oauth_app_api_call', 1, [
16
- ...statsContext?.tags,
17
- `endpoint:add-or-remove-users-from-dmpSegment`
18
- ]);
19
- const res = await linkedinApiClient.batchUpdate(dmpSegmentId, elements);
20
- if (res.status !== 200) {
21
- throw new actions_core_1.RetryableError('Error while attempting to update LinkedIn DMP Segment. This batch will be retried.');
22
- }
23
- return res;
24
- }
25
- function validate(settings, payloads) {
26
- const isAutoOrUndefined = ['AUTO', undefined].includes(payloads[0]?.dmp_user_action);
27
- if (isAutoOrUndefined && payloads[0].source_segment_id !== payloads[0].personas_audience_key) {
28
- throw new actions_core_1.IntegrationError('The value of `source_segment_id` and `personas_audience_key` must match.', 'INVALID_SETTINGS', 400);
29
- }
30
- if (!settings.send_google_advertising_id && !settings.send_email) {
31
- throw new actions_core_1.IntegrationError('At least one of `Send Email` or `Send Google Advertising ID` must be set to `true`.', 'INVALID_SETTINGS', 400);
32
- }
33
- }
34
- async function getDmpSegmentId(linkedinApiClient, settings, payload, statsContext) {
35
- statsContext?.statsClient?.incr('oauth_app_api_call', 1, [...statsContext?.tags, `endpoint:get-dmpSegment`]);
36
- const res = await linkedinApiClient.getDmpSegment(settings, payload);
37
- const body = await res.json();
38
- if (body.elements?.length > 0) {
39
- return body.elements[0].id;
40
- }
41
- return createDmpSegment(linkedinApiClient, settings, payload, statsContext);
42
- }
43
- async function createDmpSegment(linkedinApiClient, settings, payload, statsContext) {
44
- statsContext?.statsClient?.incr('oauth_app_api_call', 1, [...statsContext?.tags, `endpoint:create-dmpSegment`]);
45
- const res = await linkedinApiClient.createDmpSegment(settings, payload);
46
- const headers = res.headers.toJSON();
47
- return headers['x-linkedin-id'];
48
- }
49
- function extractUsers(settings, payloads) {
50
- const elements = [];
51
- payloads.forEach((payload) => {
52
- if (!payload.email && !payload.google_advertising_id) {
53
- return;
54
- }
55
- const linkedinAudiencePayload = {
56
- action: getAction(payload),
57
- userIds: getUserIds(settings, payload)
58
- };
59
- if (payload.first_name) {
60
- linkedinAudiencePayload.firstName = payload.first_name;
61
- }
62
- if (payload.last_name) {
63
- linkedinAudiencePayload.lastName = payload.last_name;
9
+ function validate(payloads, msResponse, isBatch, settings) {
10
+ const { send_google_advertising_id, send_email } = settings;
11
+ const validPayloads = [];
12
+ if (!send_google_advertising_id && !send_email) {
13
+ if (isBatch) {
14
+ payloads.forEach((_, index) => {
15
+ msResponse.setErrorResponseAtIndex(index, {
16
+ status: 400,
17
+ errortype: 'BAD_REQUEST',
18
+ errormessage: "At least one of 'Send Email' or 'Send Google Advertising ID' setting fields must be set to 'true'."
19
+ });
20
+ });
21
+ return validPayloads;
64
22
  }
65
- if (payload.title) {
66
- linkedinAudiencePayload.title = payload.title;
23
+ else {
24
+ throw new actions_core_1.IntegrationError("At least one of 'Send Email' or 'Send Google Advertising ID' setting fields must be set to 'true'.", 'BAD_REQUEST', 400);
67
25
  }
68
- if (payload.company) {
69
- linkedinAudiencePayload.company = payload.company;
26
+ }
27
+ payloads.forEach((p, index) => {
28
+ const hasEmail = !!p.email;
29
+ const hasGAID = !!p.google_advertising_id;
30
+ const includeEmail = send_email && hasEmail;
31
+ const includeGAID = send_google_advertising_id && hasGAID;
32
+ const hasId = includeEmail || includeGAID;
33
+ if (!hasId) {
34
+ msResponse.setErrorResponseAtIndex(index, {
35
+ status: 400,
36
+ errortype: 'PAYLOAD_VALIDATION_FAILED',
37
+ errormessage: "At least one of 'User Email' or 'User Google Advertising ID' fields are required. Make sure to enable the 'Send Email' and / or 'Send Google Advertising ID' setting so that the corresponding identifiers are included."
38
+ });
70
39
  }
71
- if (payload.country) {
72
- linkedinAudiencePayload.country = payload.country;
40
+ else {
41
+ validPayloads.push({ ...p, index });
73
42
  }
74
- elements.push(linkedinAudiencePayload);
75
43
  });
76
- return elements;
44
+ return validPayloads;
77
45
  }
78
- function getAction(payload) {
79
- const { dmp_user_action = 'AUTO' } = payload;
80
- if (dmp_user_action === 'ADD') {
81
- return 'ADD';
82
- }
83
- if (dmp_user_action === 'REMOVE') {
84
- return 'REMOVE';
85
- }
86
- if (dmp_user_action === 'AUTO' || !dmp_user_action) {
87
- if (payload.event_name === 'Audience Entered') {
88
- return 'ADD';
46
+ function buildJSON(payloads, settings) {
47
+ function getAction(payload) {
48
+ const { dmp_user_action = 'AUTO' } = payload;
49
+ if (dmp_user_action === constants_1.AUDIENCE_ACTION.ADD) {
50
+ return constants_1.AUDIENCE_ACTION.ADD;
51
+ }
52
+ if (dmp_user_action === constants_1.AUDIENCE_ACTION.REMOVE) {
53
+ return constants_1.AUDIENCE_ACTION.REMOVE;
89
54
  }
90
- if (payload.event_name === 'Audience Exited') {
91
- return 'REMOVE';
55
+ if (dmp_user_action === 'AUTO' || !dmp_user_action) {
56
+ if (payload.event_name === 'Audience Entered') {
57
+ return constants_1.AUDIENCE_ACTION.ADD;
58
+ }
59
+ if (payload.event_name === 'Audience Exited') {
60
+ return constants_1.AUDIENCE_ACTION.REMOVE;
61
+ }
92
62
  }
63
+ return constants_1.AUDIENCE_ACTION.ADD;
93
64
  }
94
- return 'ADD';
95
- }
96
- function getUserIds(settings, payload) {
97
- const userIds = [];
98
- if (payload.email && settings.send_email === true) {
99
- userIds.push({
100
- idType: 'SHA256_EMAIL',
101
- idValue: (0, hashing_utils_1.processHashing)(payload.email, 'sha256', 'hex')
102
- });
65
+ function getUserIds(settings, payload) {
66
+ const userIds = [];
67
+ if (payload.email && settings.send_email === true) {
68
+ userIds.push({
69
+ idType: 'SHA256_EMAIL',
70
+ idValue: (0, hashing_utils_1.processHashing)(payload.email, 'sha256', 'hex')
71
+ });
72
+ }
73
+ if (payload.google_advertising_id && settings.send_google_advertising_id === true) {
74
+ userIds.push({
75
+ idType: 'GOOGLE_AID',
76
+ idValue: payload.google_advertising_id
77
+ });
78
+ }
79
+ return userIds;
103
80
  }
104
- if (payload.google_advertising_id && settings.send_google_advertising_id === true) {
105
- userIds.push({
106
- idType: 'GOOGLE_AID',
107
- idValue: payload.google_advertising_id
81
+ const elements = [];
82
+ payloads.forEach((payload) => {
83
+ const { first_name, last_name, title, company, country } = payload;
84
+ elements.push({
85
+ action: getAction(payload),
86
+ userIds: getUserIds(settings, payload),
87
+ ...(first_name ? { firstName: first_name } : {}),
88
+ ...(last_name ? { lastName: last_name } : {}),
89
+ ...(title ? { title } : {}),
90
+ ...(company ? { company } : {}),
91
+ ...(country ? { country } : {})
108
92
  });
109
- }
110
- return userIds;
93
+ });
94
+ return { elements };
95
+ }
96
+ function getSegmentSourceIdAndName(payload) {
97
+ const { source_segment_id: sourceSegmentId, dmp_segment_name: segmentName } = payload;
98
+ return { sourceSegmentId: sourceSegmentId || "", segmentName: segmentName || sourceSegmentId || "" };
111
99
  }
112
100
  //# sourceMappingURL=functions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"functions.js","sourceRoot":"","sources":["../../../../src/destinations/linkedin-audiences/updateAudience/functions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"functions.js","sourceRoot":"","sources":["../../../../src/destinations/linkedin-audiences/updateAudience/functions.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,8 @@ export interface Payload {
9
9
  country?: string;
10
10
  google_advertising_id?: string;
11
11
  source_segment_id?: string;
12
- personas_audience_key: string;
12
+ personas_audience_key?: string;
13
13
  event_name?: string;
14
14
  dmp_user_action?: string;
15
+ batch_keys?: string[];
15
16
  }
@@ -1,17 +1,19 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const functions_1 = require("./functions");
4
+ const common_functions_1 = require("../common-functions");
4
5
  const fields_1 = require("./fields");
6
+ const constants_1 = require("../constants");
5
7
  const action = {
6
- title: 'Sync To LinkedIn DMP Segment',
7
- description: 'Syncs contacts from a Personas Audience to a LinkedIn DMP Segment.',
8
+ title: 'Sync To LinkedIn DMP User Segment',
9
+ description: 'Syncs an Engage User based Audience to a LinkedIn DMP User Segment.',
8
10
  defaultSubscription: 'event = "Audience Entered" or event = "Audience Exited"',
9
11
  fields: fields_1.fields,
10
12
  perform: async (request, { settings, payload, statsContext }) => {
11
- return (0, functions_1.processPayload)(request, settings, [payload], statsContext);
13
+ return (0, common_functions_1.send)(request, functions_1.getSegmentSourceIdAndName, functions_1.buildJSON, functions_1.validate, settings, [payload], constants_1.SEGMENT_TYPES.USER, false, statsContext);
12
14
  },
13
15
  performBatch: async (request, { settings, payload, statsContext }) => {
14
- return (0, functions_1.processPayload)(request, settings, payload, statsContext);
16
+ return (0, common_functions_1.send)(request, functions_1.getSegmentSourceIdAndName, functions_1.buildJSON, functions_1.validate, settings, payload, constants_1.SEGMENT_TYPES.USER, true, statsContext);
15
17
  }
16
18
  };
17
19
  exports.default = action;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/linkedin-audiences/updateAudience/index.ts"],"names":[],"mappings":";;AAGA,2CAA4C;AAC5C,qCAAiC;AAEjC,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,8BAA8B;IACrC,WAAW,EAAE,oEAAoE;IACjF,mBAAmB,EAAE,yDAAyD;IAC9E,MAAM,EAAN,eAAM;IACN,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE;QAC9D,OAAO,IAAA,0BAAc,EAAC,OAAO,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC,CAAA;IACnE,CAAC;IACD,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE;QACnE,OAAO,IAAA,0BAAc,EAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,CAAC,CAAA;IACjE,CAAC;CACF,CAAA;AAED,kBAAe,MAAM,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/linkedin-audiences/updateAudience/index.ts"],"names":[],"mappings":";;AAGA,2CAA4E;AAC5E,0DAA0C;AAC1C,qCAAiC;AACjC,4CAA4C;AAG5C,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,mCAAmC;IAC1C,WAAW,EAAE,qEAAqE;IAClF,mBAAmB,EAAE,yDAAyD;IAC9E,MAAM,EAAN,eAAM;IACN,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE;QAC9D,OAAO,IAAA,uBAAI,EACT,OAAO,EACP,qCAAyB,EACzB,qBAAS,EACT,oBAAQ,EACR,QAAQ,EACR,CAAC,OAAO,CAAC,EACT,yBAAa,CAAC,IAAI,EAClB,KAAK,EACL,YAAY,CACb,CAAA;IACH,CAAC;IACD,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE;QACnE,OAAO,IAAA,uBAAI,EACT,OAAO,EACP,qCAAyB,EACzB,qBAAS,EACT,oBAAQ,EACR,QAAQ,EACR,OAAO,EACP,yBAAa,CAAC,IAAI,EAClB,IAAI,EACJ,YAAY,CACb,CAAA;IACH,CAAC;CACF,CAAA;AAED,kBAAe,MAAM,CAAA"}
@@ -0,0 +1,2 @@
1
+ import { InputField } from '@segment/actions-core';
2
+ export declare const fields: Record<string, InputField>;
@@ -0,0 +1,109 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.fields = void 0;
4
+ const constants_1 = require("../constants");
5
+ exports.fields = {
6
+ identifiers: {
7
+ label: 'Company Identifiers',
8
+ description: 'The company identifier to add or remove from the LinkedIn Company Segment. At least one of Company Domain or LinkedIn Company ID is required.',
9
+ type: 'object',
10
+ additionalProperties: false,
11
+ required: true,
12
+ defaultObjectUI: 'keyvalue:only',
13
+ properties: {
14
+ companyDomain: {
15
+ label: 'Company Domain',
16
+ description: "The company domain to send to LinkedIn. e.g. 'microsoft.com'",
17
+ type: 'string'
18
+ },
19
+ linkedInCompanyId: {
20
+ label: 'LinkedIn Company ID',
21
+ description: "The LinkedIn Company ID to send to LinkedIn.",
22
+ type: 'string'
23
+ }
24
+ },
25
+ default: {
26
+ companyDomain: { '@path': '$.properties.company_domain' },
27
+ linkedInCompanyId: { '@path': '$.properties.linkedin_company_id' }
28
+ }
29
+ },
30
+ action: {
31
+ label: 'Company Segment Action',
32
+ description: 'Specifies if the company should be added or removed from the LinkedIn DMP Company Segment.',
33
+ type: 'string',
34
+ disabledInputMethods: ['literal', 'variable', 'function', 'freeform', 'enrichment'],
35
+ choices: [
36
+ { label: `Auto Detect`, value: 'AUTO' },
37
+ { label: `Add`, value: constants_1.AUDIENCE_ACTION.ADD },
38
+ { label: 'Remove', value: constants_1.AUDIENCE_ACTION.REMOVE }
39
+ ],
40
+ default: 'AUTO'
41
+ },
42
+ segment_creation_name: {
43
+ label: 'Segment Creation Name',
44
+ description: 'The name of the segment to create. This field is no longer used after the Segment is created in LinkedIn.',
45
+ type: 'string',
46
+ required: true,
47
+ disabledInputMethods: ['variable', 'function', 'freeform', 'enrichment'],
48
+ default: {
49
+ '@if': {
50
+ exists: { '@path': '$.properties.audience_key' },
51
+ then: { '@path': '$.properties.audience_key' },
52
+ else: { '@path': '$.context.personas.computation_key' }
53
+ }
54
+ }
55
+ },
56
+ computation_key: {
57
+ label: '[Hidden] Audience Computation Key',
58
+ description: "[Hidden] Segment's friendly name for the Audience",
59
+ type: 'string',
60
+ required: true,
61
+ unsafe_hidden: true,
62
+ default: {
63
+ '@if': {
64
+ exists: { '@path': '$.properties.audience_key' },
65
+ then: { '@path': '$.properties.audience_key' },
66
+ else: { '@path': '$.context.personas.computation_key' }
67
+ }
68
+ }
69
+ },
70
+ props: {
71
+ label: '[Hidden] Properties object',
72
+ description: '[Hidden] A computed object for track events. This field should not need to be edited.',
73
+ type: 'object',
74
+ required: true,
75
+ unsafe_hidden: true,
76
+ default: { '@path': '$.properties' }
77
+ },
78
+ computation_class: {
79
+ label: '[Hidden] Computation Class',
80
+ description: '[Hidden] The computation class for the audience. Used to filter out non Audience payloads.',
81
+ type: 'string',
82
+ required: true,
83
+ default: {
84
+ '@path': '$.context.personas.computation_class'
85
+ },
86
+ choices: [
87
+ { label: 'audience', value: 'audience' },
88
+ { label: 'journey_step', value: 'journey_step' }
89
+ ],
90
+ unsafe_hidden: true
91
+ },
92
+ enable_batching: {
93
+ label: '[Hidden] Enable Batching',
94
+ description: '[Hidden] Enable batching of requests to the LinkedIn DMP Segment.',
95
+ type: 'boolean',
96
+ default: true,
97
+ unsafe_hidden: true
98
+ },
99
+ batch_keys: {
100
+ label: '[Hidden] Batch Keys',
101
+ description: '[Hidden] Batch key used to ensure a batch contains payloads from a single Audience only.',
102
+ type: 'string',
103
+ unsafe_hidden: true,
104
+ required: true,
105
+ multiple: true,
106
+ default: ['computation_key']
107
+ }
108
+ };
109
+ //# sourceMappingURL=fields.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fields.js","sourceRoot":"","sources":["../../../../src/destinations/linkedin-audiences/updateCompanyAudience/fields.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { MultiStatusResponse } from '@segment/actions-core';
2
+ import type { Payload } from './generated-types';
3
+ import type { AudienceJSON, LinkedInCompanyAudienceElement, ValidCompanyPayload } from '../types';
4
+ export declare function validate(payloads: Payload[], msResponse: MultiStatusResponse, isBatch: boolean): ValidCompanyPayload[];
5
+ export declare function buildJSON(payloads: Payload[]): AudienceJSON<LinkedInCompanyAudienceElement>;
6
+ export declare function getSegmentSourceIdAndName(payload: Payload): {
7
+ sourceSegmentId: string;
8
+ segmentName: string;
9
+ };
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validate = validate;
4
+ exports.buildJSON = buildJSON;
5
+ exports.getSegmentSourceIdAndName = getSegmentSourceIdAndName;
6
+ const actions_core_1 = require("@segment/actions-core");
7
+ const constants_1 = require("../constants");
8
+ function validate(payloads, msResponse, isBatch) {
9
+ const validPayloads = [];
10
+ payloads.forEach((p, index) => {
11
+ const { identifiers: { companyDomain, linkedInCompanyId } } = p;
12
+ if (!companyDomain && !linkedInCompanyId) {
13
+ if (isBatch) {
14
+ msResponse.setErrorResponseAtIndex(index, {
15
+ status: 400,
16
+ errortype: 'PAYLOAD_VALIDATION_FAILED',
17
+ errormessage: "At least one of 'Company Domain' or 'LinkedIn Company ID' is required in the 'Identifiers' field."
18
+ });
19
+ }
20
+ else {
21
+ throw new actions_core_1.PayloadValidationError("At least one of 'Company Domain' or 'LinkedIn Company ID' is required in the 'Identifiers' field.");
22
+ }
23
+ }
24
+ else {
25
+ validPayloads.push({ ...p, index });
26
+ }
27
+ });
28
+ return validPayloads;
29
+ }
30
+ function buildJSON(payloads) {
31
+ const elements = [];
32
+ payloads.forEach((payload) => {
33
+ const action = payload.action === 'AUTO' ? payload.props[payload.computation_key] === true ? constants_1.AUDIENCE_ACTION.ADD : constants_1.AUDIENCE_ACTION.REMOVE : payload.action === constants_1.AUDIENCE_ACTION.ADD ? constants_1.AUDIENCE_ACTION.ADD : constants_1.AUDIENCE_ACTION.REMOVE;
34
+ const { companyDomain, linkedInCompanyId } = payload.identifiers;
35
+ const companyIds = [
36
+ ...(companyDomain ? [{ idType: 'DOMAIN', idValue: companyDomain }] : []),
37
+ ...(linkedInCompanyId ? [{ idType: 'LINKEDIN_COMPANY_ID', idValue: linkedInCompanyId }] : [])
38
+ ];
39
+ elements.push({
40
+ action,
41
+ companyIds
42
+ });
43
+ });
44
+ return { elements };
45
+ }
46
+ function getSegmentSourceIdAndName(payload) {
47
+ const { computation_key: sourceSegmentId, segment_creation_name: segmentName } = payload;
48
+ return { sourceSegmentId, segmentName };
49
+ }
50
+ //# sourceMappingURL=functions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"functions.js","sourceRoot":"","sources":["../../../../src/destinations/linkedin-audiences/updateCompanyAudience/functions.ts"],"names":[],"mappings":";;AAKA,4BAqBC;AAED,8BAgBC;AAED,8DAGC;AAjDD,wDAAmF;AAGnF,4CAA8C;AAE9C,SAAgB,QAAQ,CAAC,QAAmB,EAAE,UAA+B,EAAE,OAAgB;IAC7F,MAAM,aAAa,GAA0B,EAAE,CAAA;IAC/C,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;QAC5B,MAAM,EAAE,WAAW,EAAE,EAAE,aAAa,EAAE,iBAAiB,EAAE,EAAE,GAAG,CAAC,CAAA;QAC/D,IAAI,CAAC,aAAa,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzC,IAAG,OAAO,EAAC,CAAC;gBACV,UAAU,CAAC,uBAAuB,CAAC,KAAK,EAAE;oBACxC,MAAM,EAAE,GAAG;oBACX,SAAS,EAAE,2BAA2B;oBACtC,YAAY,EAAE,mGAAmG;iBAClH,CAAC,CAAA;YACJ,CAAC;iBACI,CAAC;gBACJ,MAAM,IAAI,qCAAsB,CAAC,mGAAmG,CAAC,CAAA;YACvI,CAAC;QACH,CAAC;aAAM,CAAC;YACN,aAAa,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,EAAC,CAAC,CAAA;QACpC,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,OAAO,aAAa,CAAA;AACtB,CAAC;AAED,SAAgB,SAAS,CAAC,QAAmB;IAC3C,MAAM,QAAQ,GAAqC,EAAE,CAAA;IAErD,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC3B,MAAM,MAAM,GAAmB,OAAO,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,2BAAe,CAAC,GAAG,CAAC,CAAC,CAAC,2BAAe,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,2BAAe,CAAC,GAAG,CAAC,CAAC,CAAC,2BAAe,CAAC,GAAG,CAAC,CAAC,CAAC,2BAAe,CAAC,MAAM,CAAA;QACjP,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,OAAO,CAAC,WAAW,CAAA;QAChE,MAAM,UAAU,GAAG;YACjB,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,QAAiB,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACjF,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,qBAA8B,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SACvG,CAAA;QACD,QAAQ,CAAC,IAAI,CAAC;YACZ,MAAM;YACN,UAAU;SACX,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IACF,OAAO,EAAE,QAAQ,EAAE,CAAA;AACrB,CAAC;AAED,SAAgB,yBAAyB,CAAC,OAAgB;IACvD,MAAM,EAAE,eAAe,EAAE,eAAe,EAAE,qBAAqB,EAAE,WAAW,EAAE,GAAG,OAAO,CAAA;IACxF,OAAO,EAAC,eAAe,EAAE,WAAW,EAAC,CAAA;AACxC,CAAC"}
@@ -0,0 +1,15 @@
1
+ export interface Payload {
2
+ identifiers: {
3
+ companyDomain?: string;
4
+ linkedInCompanyId?: string;
5
+ };
6
+ action?: string;
7
+ segment_creation_name: string;
8
+ computation_key: string;
9
+ props: {
10
+ [k: string]: unknown;
11
+ };
12
+ computation_class: string;
13
+ enable_batching?: boolean;
14
+ batch_keys: string[];
15
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=generated-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generated-types.js","sourceRoot":"","sources":["../../../../src/destinations/linkedin-audiences/updateCompanyAudience/generated-types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ import type { ActionDefinition } from '@segment/actions-core';
2
+ import type { Settings } from '../generated-types';
3
+ import type { Payload } from './generated-types';
4
+ declare const action: ActionDefinition<Settings, Payload>;
5
+ export default action;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const functions_1 = require("./functions");
4
+ const common_functions_1 = require("../common-functions");
5
+ const fields_1 = require("./fields");
6
+ const constants_1 = require("../constants");
7
+ const action = {
8
+ title: 'Sync To LinkedIn DMP Company Segment',
9
+ description: 'Syncs an Engage Account based Audience to a LinkedIn DMP Company Segment.',
10
+ defaultSubscription: 'type = "track"',
11
+ fields: fields_1.fields,
12
+ perform: async (request, { settings, payload, statsContext }) => {
13
+ return (0, common_functions_1.send)(request, functions_1.getSegmentSourceIdAndName, functions_1.buildJSON, functions_1.validate, settings, [payload], constants_1.SEGMENT_TYPES.COMPANY, false, statsContext);
14
+ },
15
+ performBatch: async (request, { settings, payload, statsContext }) => {
16
+ return (0, common_functions_1.send)(request, functions_1.getSegmentSourceIdAndName, functions_1.buildJSON, functions_1.validate, settings, payload, constants_1.SEGMENT_TYPES.COMPANY, true, statsContext);
17
+ }
18
+ };
19
+ exports.default = action;
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/linkedin-audiences/updateCompanyAudience/index.ts"],"names":[],"mappings":";;AAGA,2CAA4E;AAC5E,0DAA0C;AAC1C,qCAAiC;AACjC,4CAA4C;AAG5C,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,sCAAsC;IAC7C,WAAW,EAAE,2EAA2E;IACxF,mBAAmB,EAAE,gBAAgB;IACrC,MAAM,EAAN,eAAM;IACN,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE;QAC9D,OAAO,IAAA,uBAAI,EACT,OAAO,EACP,qCAAyB,EACzB,qBAAS,EACT,oBAAQ,EACR,QAAQ,EACR,CAAC,OAAO,CAAC,EACT,yBAAa,CAAC,OAAO,EACrB,KAAK,EACL,YAAY,CACb,CAAA;IACH,CAAC;IACD,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE;QACnE,OAAO,IAAA,uBAAI,EACT,OAAO,EACP,qCAAyB,EACzB,qBAAS,EACT,oBAAQ,EACR,QAAQ,EACR,OAAO,EACP,yBAAa,CAAC,OAAO,EACrB,IAAI,EACJ,YAAY,CACb,CAAA;IACH,CAAC;CACF,CAAA;AAED,kBAAe,MAAM,CAAA"}
@@ -15,7 +15,7 @@ const destination = {
15
15
  fields: {
16
16
  customerAccountId: {
17
17
  label: 'Customer Account ID',
18
- description: 'The account ID of the Microsoft Advertising account you want to manage. You can find it in the URL when viewing the account in the Microsoft Ads User Interface.',
18
+ description: 'The account ID of the Microsoft Advertising account you want to manage. You can find it in the URL when viewing the account in the Microsoft Ads User Interface. Not to be confused with Account Number.',
19
19
  type: 'string',
20
20
  required: true
21
21
  },
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/destinations/ms-bing-ads-audiences/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/destinations/ms-bing-ads-audiences/index.ts"],"names":[],"mappings":";;;;;AAAA,wDAM8B;AAE9B,oEAA2C;AAE3C,2CAAiD;AAEjD,MAAM,WAAW,GAA4C;IAC3D,IAAI,EAAE,uBAAuB;IAC7B,IAAI,EAAE,+BAA+B;IACrC,IAAI,EAAE,OAAO;IAEb,cAAc,EAAE;QACd,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE;YACN,iBAAiB,EAAE;gBACjB,KAAK,EAAE,qBAAqB;gBAC5B,WAAW,EACT,0MAA0M;gBAC5M,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;aACf;YACD,UAAU,EAAE;gBACV,KAAK,EAAE,aAAa;gBACpB,WAAW,EACT,0KAA0K;gBAC5K,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;aACf;SACF;QACD,kBAAkB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;YAG9C,MAAM,GAAG,GAAG,MAAM,OAAO,CAAuB,qBAAS,EAAE;gBACzD,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,IAAI,eAAe,CAAC;oBACxB,aAAa,EAAE,IAAI,CAAC,YAAY;oBAChC,SAAS,EAAE,IAAI,CAAC,QAAQ;oBACxB,aAAa,EAAE,IAAI,CAAC,YAAY;oBAChC,UAAU,EAAE,eAAe;oBAC3B,KAAK,EAAE,uDAAuD;iBAC/D,CAAC;aACH,CAAC,CAAA;YAEF,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;gBAC7B,MAAM,IAAI,yCAA0B,CAAC,gCAAgC,EAAE,yBAAU,CAAC,oBAAoB,CAAC,CAAA;YACzG,CAAC;YAED,OAAO;gBACL,WAAW,EAAE,GAAG,EAAE,IAAI,EAAE,YAAY;gBACpC,YAAY,EAAE,GAAG,EAAE,IAAI,EAAE,aAAa,IAAI,IAAI,CAAC,YAAY;aAC5D,CAAA;QACH,CAAC;KACF;IAED,aAAa,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC9B,OAAO;YACL,OAAO,EAAE;gBACP,aAAa,EAAE,UAAU,IAAI,EAAE,WAAW,EAAE;gBAC5C,cAAc,EAAE,OAAO,CAAC,GAAG,CAAC,6CAA6C,IAAI,EAAE;gBAC/E,iBAAiB,EAAE,QAAQ,EAAE,iBAAiB;gBAC9C,UAAU,EAAE,QAAQ,EAAE,UAAU;aACjC;SACF,CAAA;IACH,CAAC;IAED,cAAc,EAAE,EAAE;IAElB,cAAc,EAAE;QACd,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;YACd,kBAAkB,EAAE,KAAK;SAC1B;QACD,cAAc,EAAE,KAAK,EAAE,OAAO,EAAE,mBAAmB,EAAE,EAAE;YAIrD,MAAM,YAAY,GAAG,mBAAmB,EAAE,YAAY,CAAA;YAEtD,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,MAAM,IAAI,qCAAsB,CAAC,6BAA6B,CAAC,CAAA;YACjE,CAAC;YAED,MAAM,IAAI,GAA0B;gBAClC,SAAS,EAAE;oBACT;wBACE,IAAI,EAAE,YAAY;wBAClB,IAAI,EAAE,cAAc;qBACrB;iBACF;aACF,CAAA;YAED,MAAM,QAAQ,GAA2B,MAAM,OAAO,CAAC,GAAG,oBAAQ,YAAY,EAAE;gBAC9E,MAAM,EAAE,MAAM;gBACd,IAAI;aACL,CAAC,CAAA;YAGF,IAAI,QAAQ,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC;gBAC1C,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAA;gBAC/C,IAAI,QAAQ,EAAE,SAAS,KAAK,2CAA2C,EAAE,CAAC;oBACxE,MAAM,IAAI,+BAAgB,CACxB,wLAAwL,EACxL,oBAAoB,EACpB,GAAG,CACJ,CAAA;gBACH,CAAC;YACH,CAAC;YAGD,MAAM,UAAU,GAAG,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,CAAA;YACnD,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,MAAM,IAAI,+BAAgB,CAAC,mDAAmD,EAAE,gBAAgB,EAAE,GAAG,CAAC,CAAA;YACxG,CAAC;YAED,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,CAAA;QACnC,CAAC;QACD,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,gBAAgB,EAAE,EAAE;YAG/C,MAAM,UAAU,GAAG,gBAAgB,EAAE,UAAU,CAAA;YAC/C,MAAM,QAAQ,GAAwB,MAAM,OAAO,CAAC,GAAG,oBAAQ,uBAAuB,EAAE;gBACtF,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE;oBACJ,WAAW,EAAE,CAAC,UAAU,CAAC;oBACzB,IAAI,EAAE,cAAc;iBACrB;aACF,CAAC,CAAA;YAEF,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAA;QAC3D,CAAC;KACF;IAED,OAAO,EAAE;QACP,aAAa,EAAb,uBAAa;KACd;CACF,CAAA;AAED,kBAAe,WAAW,CAAA"}
@@ -49,8 +49,8 @@ exports.email = {
49
49
  },
50
50
  default: {
51
51
  '@if': {
52
- exists: { '@path': '$.traits.email' },
53
- then: { '@path': '$.traits.email' },
52
+ exists: { '@path': '$.context.traits.email' },
53
+ then: { '@path': '$.context.traits.email' },
54
54
  else: { '@path': '$.properties.email' }
55
55
  }
56
56
  },
@@ -71,22 +71,16 @@ exports.crm_id = {
71
71
  }
72
72
  };
73
73
  exports.traits_or_props = {
74
- label: 'Traits or Properties',
75
- description: 'Hidden field: traits object from identify() payloads or properties object from track() payloads.',
74
+ label: '[Hidden] Traits or Properties',
75
+ description: '[Hidden] properties object from track() payloads. Note: identify calls are not handled and are disabled in the Partner Portal.',
76
76
  type: 'object',
77
77
  required: true,
78
78
  unsafe_hidden: true,
79
- default: {
80
- '@if': {
81
- exists: { '@path': '$.traits' },
82
- then: { '@path': '$.traits' },
83
- else: { '@path': '$.properties' }
84
- }
85
- }
79
+ default: { '@path': '$.properties' }
86
80
  };
87
81
  exports.audience_key = {
88
- label: 'Audience Key',
89
- description: 'Hidden field: The Engage Audience Key / Slug.',
82
+ label: '[Hidden] Audience Key',
83
+ description: '[Hidden]: The Engage Audience Key / Slug.',
90
84
  type: 'string',
91
85
  required: true,
92
86
  unsafe_hidden: true,
@@ -103,16 +97,18 @@ exports.enable_batching = {
103
97
  readOnly: true
104
98
  };
105
99
  exports.batch_size = {
106
- label: 'Batch Size',
107
- description: 'The number of user syncs to include in each batch when batching is enabled. Must be between 1 and 1000.',
100
+ label: '[Hidden] Batch Size',
101
+ description: '[Hidden] The number of user syncs to include in each batch when batching is enabled. Must be between 1 and 1000.',
108
102
  type: 'number',
109
103
  required: true,
110
104
  default: 1000,
105
+ minimum: 1,
106
+ maximum: 1000,
111
107
  unsafe_hidden: true
112
108
  };
113
109
  exports.batch_keys = {
114
- label: 'Batch Keys',
115
- description: 'The keys to use for batching user syncs. Users with the same values for these keys will be grouped together in the same batch.',
110
+ label: '[Hidden] Batch Keys',
111
+ description: '[Hidden] The keys to use for batching user syncs. Users with the same values for these keys will be grouped together in the same batch.',
116
112
  type: 'string',
117
113
  required: false,
118
114
  default: ['identifier_type', 'audience_id'],
@@ -1 +1 @@
1
- {"version":3,"file":"fields.js","sourceRoot":"","sources":["../../../../src/destinations/ms-bing-ads-audiences/syncAudiences/fields.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fields.js","sourceRoot":"","sources":["../../../../src/destinations/ms-bing-ads-audiences/syncAudiences/fields.ts"],"names":[],"mappings":";;;AACA,4CAA6D;AAEhD,QAAA,WAAW,GAAe;IACrC,KAAK,EAAE,aAAa;IACpB,WAAW,EAAE,kEAAkE;IAC/E,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,IAAI;IACd,OAAO,EAAE;QACP,OAAO,EAAE,yCAAyC;KACnD;IACD,aAAa,EAAE,IAAI;CACpB,CAAA;AAEY,QAAA,iBAAiB,GAAe;IAC3C,KAAK,EAAE,mBAAmB;IAC1B,WAAW,EAAE,uDAAuD;IACpE,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,IAAI;IACd,OAAO,EAAE;QACP,OAAO,EAAE,sCAAsC;KAChD;IACD,OAAO,EAAE;QACP,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE;QACxC,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,cAAc,EAAE;KACjD;IACD,aAAa,EAAE,IAAI;CACpB,CAAA;AAEY,QAAA,eAAe,GAAe;IACzC,KAAK,EAAE,iBAAiB;IACxB,WAAW,EAAE,qDAAqD;IAClE,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,IAAI;IACd,OAAO,EAAE,OAAO;IAChB,OAAO,EAAE;QACP,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;QAClC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE;KAClC;CACF,CAAA;AAEY,QAAA,KAAK,GAAe;IAC/B,KAAK,EAAE,OAAO;IACd,WAAW,EAAE,mEAAmE;IAChF,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE;QACR,GAAG,2BAAe;KACnB;IACD,UAAU,EAAE;QACV,GAAG,2BAAe;KACnB;IACD,OAAO,EAAE;QACP,KAAK,EAAE;YACL,MAAM,EAAE,EAAE,OAAO,EAAE,wBAAwB,EAAE;YAC7C,IAAI,EAAE,EAAE,OAAO,EAAE,wBAAwB,EAAE;YAC3C,IAAI,EAAE,EAAE,OAAO,EAAE,oBAAoB,EAAE;SACxC;KACF;IACD,QAAQ,EAAE,WAAW;CACtB,CAAA;AAEY,QAAA,MAAM,GAAe;IAChC,KAAK,EAAE,QAAQ;IACf,WAAW,EAAE,4DAA4D;IACzE,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE;QACR,GAAG,yBAAa;KACjB;IACD,UAAU,EAAE;QACV,GAAG,yBAAa;KACjB;IACD,OAAO,EAAE;QACP,OAAO,EAAE,UAAU;KACpB;CACF,CAAA;AAEY,QAAA,eAAe,GAAe;IACzC,KAAK,EAAE,+BAA+B;IACtC,WAAW,EACT,gIAAgI;IAClI,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,IAAI;IACd,aAAa,EAAE,IAAI;IACnB,OAAO,EAAE,EAAE,OAAO,EAAE,cAAc,EAAE;CACrC,CAAA;AAEY,QAAA,YAAY,GAAe;IACtC,KAAK,EAAE,uBAAuB;IAC9B,WAAW,EAAE,2CAA2C;IACxD,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,IAAI;IACd,aAAa,EAAE,IAAI;IACnB,OAAO,EAAE;QACP,OAAO,EAAE,oCAAoC;KAC9C;CACF,CAAA;AAEY,QAAA,eAAe,GAAe;IACzC,KAAK,EAAE,iBAAiB;IACxB,WAAW,EACT,4IAA4I;IAC9I,IAAI,EAAE,SAAS;IACf,QAAQ,EAAE,IAAI;IACd,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,IAAI;CACf,CAAA;AAEY,QAAA,UAAU,GAAe;IACpC,KAAK,EAAE,qBAAqB;IAC5B,WAAW,EACT,kHAAkH;IACpH,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,IAAI;IACd,OAAO,EAAE,IAAI;IACb,OAAO,EAAE,CAAC;IACV,OAAO,EAAE,IAAI;IACb,aAAa,EAAE,IAAI;CACpB,CAAA;AAEY,QAAA,UAAU,GAAe;IACpC,KAAK,EAAE,qBAAqB;IAC5B,WAAW,EACT,yIAAyI;IAC3I,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,KAAK;IACf,OAAO,EAAE,CAAC,iBAAiB,EAAE,aAAa,CAAC;IAC3C,aAAa,EAAE,IAAI;IACnB,QAAQ,EAAE,IAAI;CACf,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.437.1-staging-ea6c83c19.0",
4
+ "version": "3.437.1-staging-03ca01662.0",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "https://github.com/segmentio/action-destinations",
@@ -91,5 +91,5 @@
91
91
  "__tests__/__helpers__/"
92
92
  ]
93
93
  },
94
- "gitHead": "74a0a15c6586d4735d119477cd258046b01722be"
94
+ "gitHead": "f105106f6e2ac2e9520a05a7acfa7a017b17ceef"
95
95
  }