@segment/action-destinations 3.113.1-alpha.8 → 3.113.1-alpha.9

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.
@@ -0,0 +1,13 @@
1
+ import type { RequestClient, ModifiedResponse } from '@segment/actions-core';
2
+ import type { Settings } from '../generated-types';
3
+ import type { Payload } from '../updateAudience/generated-types';
4
+ import type { ProfileAPIResponse, AdAccountUserResponse } from '../types';
5
+ export declare class LinkedInAudiences {
6
+ request: RequestClient;
7
+ constructor(request: RequestClient);
8
+ getProfile(): Promise<ModifiedResponse<ProfileAPIResponse>>;
9
+ 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: Record<string, string>[]): Promise<ModifiedResponse>;
13
+ }
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LinkedInAudiences = void 0;
4
+ const constants_1 = require("../constants");
5
+ class LinkedInAudiences {
6
+ constructor(request) {
7
+ this.request = request;
8
+ }
9
+ async getProfile() {
10
+ return this.request(`${constants_1.BASE_URL}/me`, {
11
+ method: 'GET'
12
+ });
13
+ }
14
+ async getAdAccountUserProfile(settings, userId) {
15
+ return this.request(`${constants_1.BASE_URL}/adAccountUsers/account=urn:li:sponsoredAccount:${settings.ad_account_id}&user=urn:li:person:${userId}`, {
16
+ method: 'GET'
17
+ });
18
+ }
19
+ async getDmpSegment(settings, payload) {
20
+ return this.request(`${constants_1.BASE_URL}/dmpSegments`, {
21
+ method: 'GET',
22
+ searchParams: {
23
+ q: 'account',
24
+ account: `urn:li:sponsoredAccount:${settings.ad_account_id}`,
25
+ sourceSegmentId: payload.source_segment_id || '',
26
+ sourcePlatform: 'SEGMENT'
27
+ }
28
+ });
29
+ }
30
+ async createDmpSegment(settings, payload) {
31
+ return this.request(`${constants_1.BASE_URL}/dmpSegments`, {
32
+ method: 'POST',
33
+ json: {
34
+ name: payload.dmp_segment_name,
35
+ sourcePlatform: 'SEGMENT',
36
+ sourceSegmentId: payload.source_segment_id,
37
+ account: `urn:li:sponsoredAccount:${settings.ad_account_id}`,
38
+ accessPolicy: 'PRIVATE',
39
+ type: 'USER',
40
+ destinations: [
41
+ {
42
+ destination: 'LINKEDIN'
43
+ }
44
+ ]
45
+ }
46
+ });
47
+ }
48
+ async batchUpdate(dmpSegmentId, elements) {
49
+ return this.request(`${constants_1.BASE_URL}/dmpSegments/${dmpSegmentId}/users`, {
50
+ method: 'POST',
51
+ headers: {
52
+ 'X-RestLi-Method': 'BATCH_CREATE'
53
+ },
54
+ json: {
55
+ elements
56
+ },
57
+ throwHttpErrors: false
58
+ });
59
+ }
60
+ }
61
+ exports.LinkedInAudiences = LinkedInAudiences;
62
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/linkedin-audiences/api/index.ts"],"names":[],"mappings":";;;AAGA,4CAAuC;AAGvC,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,iBAAiB,IAAI,EAAE;gBAChD,cAAc,EAAE,SAAS;aAC1B;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,SAAS;gBACzB,eAAe,EAAE,OAAO,CAAC,iBAAiB;gBAC1C,OAAO,EAAE,2BAA2B,QAAQ,CAAC,aAAa,EAAE;gBAC5D,YAAY,EAAE,SAAS;gBACvB,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,QAAkC;QACxE,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;AAjED,8CAiEC"}
@@ -0,0 +1,2 @@
1
+ export declare const LINKEDIN_API_VERSION = "202207";
2
+ export declare const BASE_URL = "https://api.linkedin.com/rest";
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BASE_URL = exports.LINKEDIN_API_VERSION = void 0;
4
+ exports.LINKEDIN_API_VERSION = '202207';
5
+ exports.BASE_URL = 'https://api.linkedin.com/rest';
6
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +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"}
@@ -1,3 +1,5 @@
1
1
  export interface Settings {
2
2
  ad_account_id: string;
3
+ send_email: boolean;
4
+ send_google_advertising_id: boolean;
3
5
  }
@@ -3,9 +3,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
+ const actions_core_1 = require("@segment/actions-core");
6
7
  const updateAudience_1 = __importDefault(require("./updateAudience"));
7
- const linkedin_properties_1 = require("./linkedin-properties");
8
+ const constants_1 = require("./constants");
8
9
  const https_1 = __importDefault(require("https"));
10
+ const api_1 = require("./api");
11
+ const actions_core_2 = require("@segment/actions-core");
9
12
  const destination = {
10
13
  name: 'Linkedin Audiences',
11
14
  slug: 'actions-linkedin-audiences',
@@ -18,20 +21,37 @@ const destination = {
18
21
  description: 'The id of the LinkedIn Ad Account where batches should be synced.',
19
22
  type: 'string',
20
23
  required: true
24
+ },
25
+ send_email: {
26
+ label: 'Send Email',
27
+ description: 'Whether to send `email` to LinkedIn. This setting applies to all mappings you create in this destination instance.',
28
+ type: 'boolean',
29
+ default: true,
30
+ required: true
31
+ },
32
+ send_google_advertising_id: {
33
+ label: 'Send Google Advertising ID',
34
+ description: 'Whether to send Google Advertising ID to LinkedIn. This setting applies to all mappings you create in this destination instance.',
35
+ type: 'boolean',
36
+ default: true,
37
+ required: true
21
38
  }
22
39
  },
23
40
  testAuthentication: async (request, { settings, auth }) => {
24
41
  if (!auth?.accessToken) {
25
- throw new Error('Please authenticate via Oauth before updating other settings and/or enabling the destination.');
42
+ throw new actions_core_1.InvalidAuthenticationError('Please authenticate via Oauth before updating other settings and/or enabling the destination.');
26
43
  }
44
+ if (!settings.send_email && !settings.send_google_advertising_id) {
45
+ throw new Error('At least one of `Send Email` or `Send Google Advertising ID` must be set to `true`.');
46
+ }
47
+ const linkedinApiClient = new api_1.LinkedInAudiences(request);
27
48
  let firstRes;
28
49
  try {
29
- firstRes = await request(`https://api.linkedin.com/rest/me`, {
30
- method: 'GET'
31
- });
50
+ firstRes = await linkedinApiClient.getProfile();
32
51
  }
33
52
  catch (e) {
34
- if (e.message === 'Unauthorized') {
53
+ const error = e;
54
+ if (error.message === 'Unauthorized') {
35
55
  throw new Error('Invalid LinkedIn Oauth access token. Please reauthenticate to retrieve a valid access token before updating other settings and/or enabling the destination.');
36
56
  }
37
57
  throw e;
@@ -39,12 +59,11 @@ const destination = {
39
59
  const userId = firstRes?.data?.id;
40
60
  let secondRes;
41
61
  try {
42
- secondRes = await request(`https://api.linkedin.com/rest/adAccountUsers/account=urn:li:sponsoredAccount:${settings.ad_account_id}&user=urn:li:person:${userId}`, {
43
- method: 'GET'
44
- });
62
+ secondRes = await linkedinApiClient.getAdAccountUserProfile(settings, userId);
45
63
  }
46
64
  catch (e) {
47
- if (e.message === 'Not Found') {
65
+ const error = e;
66
+ if (error.message === 'Not Found') {
48
67
  throw new Error('Invalid LinkedIn Ad Account id. Please verify that the LinkedIn Ad Account exists and that you have access to it.');
49
68
  }
50
69
  throw e;
@@ -56,15 +75,25 @@ const destination = {
56
75
  return true;
57
76
  },
58
77
  refreshAccessToken: async (request, { auth }) => {
59
- const res = await request('https://www.linkedin.com/oauth/v2/accessToken', {
60
- method: 'POST',
61
- body: new URLSearchParams({
62
- refresh_token: auth.refreshToken,
63
- client_id: auth.clientId,
64
- client_secret: auth.clientSecret,
65
- grant_type: 'refresh_token'
66
- })
67
- });
78
+ let res;
79
+ try {
80
+ res = await request('https://www.linkedin.com/oauth/v2/accessToken', {
81
+ method: 'POST',
82
+ body: new URLSearchParams({
83
+ refresh_token: auth.refreshToken,
84
+ client_id: auth.clientId,
85
+ client_secret: auth.clientSecret,
86
+ grant_type: 'refresh_token'
87
+ })
88
+ });
89
+ }
90
+ catch (e) {
91
+ const error = e;
92
+ if (error.response?.data?.error === 'invalid_grant') {
93
+ throw new actions_core_2.IntegrationError(`Invalid Authentication: Your refresh token is invalid or expired. Please re-authenticate to fetch a new refresh token.`, 'REFRESH_TOKEN_EXPIRED', 401);
94
+ }
95
+ throw new actions_core_2.IntegrationError(`Failed to fetch a new access token. Reason: ${error.response?.data?.error}`, 'OAUTH_REFRESH_FAILED', 401);
96
+ }
68
97
  return { accessToken: res?.data?.access_token };
69
98
  }
70
99
  },
@@ -73,7 +102,7 @@ const destination = {
73
102
  return {
74
103
  headers: {
75
104
  authorization: `Bearer ${auth?.accessToken}`,
76
- 'LinkedIn-Version': linkedin_properties_1.LINKEDIN_API_VERSION
105
+ 'LinkedIn-Version': constants_1.LINKEDIN_API_VERSION
77
106
  },
78
107
  agent
79
108
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/destinations/linkedin-audiences/index.ts"],"names":[],"mappings":";;;;;AAEA,sEAA6C;AAC7C,+DAA4D;AAC5D,kDAAyB;AAiBzB,MAAM,WAAW,GAAoC;IAGnD,IAAI,EAAE,oBAAoB;IAC1B,IAAI,EAAE,4BAA4B;IAClC,IAAI,EAAE,OAAO;IAEb,cAAc,EAAE;QACd,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE;YACN,aAAa,EAAE;gBACb,KAAK,EAAE,wBAAwB;gBAC/B,WAAW,EAAE,mEAAmE;gBAChF,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;aACf;SACF;QACD,kBAAkB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE;YACxD,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE;gBACtB,MAAM,IAAI,KAAK,CAAC,+FAA+F,CAAC,CAAA;aACjH;YAED,IAAI,QAAQ,CAAA;YAEZ,IAAI;gBAGF,QAAQ,GAAG,MAAM,OAAO,CAAqB,kCAAkC,EAAE;oBAC/E,MAAM,EAAE,KAAK;iBACd,CAAC,CAAA;aACH;YAAC,OAAO,CAAM,EAAE;gBACf,IAAI,CAAC,CAAC,OAAO,KAAK,cAAc,EAAE;oBAChC,MAAM,IAAI,KAAK,CACb,6JAA6J,CAC9J,CAAA;iBACF;gBACD,MAAM,CAAC,CAAA;aACR;YAED,MAAM,MAAM,GAAG,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAA;YAEjC,IAAI,SAAS,CAAA;YAEb,IAAI;gBAGF,SAAS,GAAG,MAAM,OAAO,CACvB,gFAAgF,QAAQ,CAAC,aAAa,uBAAuB,MAAM,EAAE,EACrI;oBACE,MAAM,EAAE,KAAK;iBACd,CACF,CAAA;aACF;YAAC,OAAO,CAAM,EAAE;gBACf,IAAI,CAAC,CAAC,OAAO,KAAK,WAAW,EAAE;oBAC7B,MAAM,IAAI,KAAK,CACb,mHAAmH,CACpH,CAAA;iBACF;gBACD,MAAM,CAAC,CAAA;aACR;YAED,MAAM,QAAQ,GAAG,SAAS,EAAE,IAAI,CAAC,IAAI,CAAA;YAErC,IAAI,QAAQ,KAAK,QAAQ,EAAE;gBACzB,MAAM,IAAI,KAAK,CACb,gJAAgJ,CACjJ,CAAA;aACF;YAED,OAAO,IAAI,CAAA;QACb,CAAC;QACD,kBAAkB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;YAC9C,MAAM,GAAG,GAAG,MAAM,OAAO,CAAuB,+CAA+C,EAAE;gBAC/F,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;iBAC5B,CAAC;aACH,CAAC,CAAA;YAEF,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,IAAI,EAAE,YAAY,EAAE,CAAA;QACjD,CAAC;KACF;IACD,aAAa,CAAC,EAAE,IAAI,EAAE;QAGpB,MAAM,KAAK,GAAG,IAAI,eAAK,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QAElD,OAAO;YACL,OAAO,EAAE;gBACP,aAAa,EAAE,UAAU,IAAI,EAAE,WAAW,EAAE;gBAC5C,kBAAkB,EAAE,0CAAoB;aACzC;YACD,KAAK;SACN,CAAA;IACH,CAAC;IAED,OAAO,EAAE;QACP,cAAc,EAAd,wBAAc;KACf;CACF,CAAA;AAED,kBAAe,WAAW,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/destinations/linkedin-audiences/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import { HTTPError } from '@segment/actions-core';
2
+ export interface RefreshTokenResponse {
3
+ access_token: string;
4
+ scope: string;
5
+ expires_in: number;
6
+ token_type: string;
7
+ }
8
+ export interface ProfileAPIResponse {
9
+ id: string;
10
+ }
11
+ export interface AdAccountUserResponse {
12
+ role: string;
13
+ }
14
+ export declare class LinkedInRefreshTokenError extends HTTPError {
15
+ response: Response & {
16
+ data: {
17
+ error: string;
18
+ error_description: string;
19
+ };
20
+ };
21
+ }
22
+ export declare class LinkedInTestAuthenticationError extends HTTPError {
23
+ response: Response & {
24
+ data: {
25
+ message: string;
26
+ };
27
+ };
28
+ }
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LinkedInTestAuthenticationError = exports.LinkedInRefreshTokenError = void 0;
4
+ const actions_core_1 = require("@segment/actions-core");
5
+ class LinkedInRefreshTokenError extends actions_core_1.HTTPError {
6
+ }
7
+ exports.LinkedInRefreshTokenError = LinkedInRefreshTokenError;
8
+ class LinkedInTestAuthenticationError extends actions_core_1.HTTPError {
9
+ }
10
+ exports.LinkedInTestAuthenticationError = LinkedInTestAuthenticationError;
11
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/destinations/linkedin-audiences/types.ts"],"names":[],"mappings":";;;AAAA,wDAAiD;AAiBjD,MAAa,yBAA0B,SAAQ,wBAAS;CAOvD;AAPD,8DAOC;AAED,MAAa,+BAAgC,SAAQ,wBAAS;CAM7D;AAND,0EAMC"}
@@ -2,9 +2,7 @@ export interface Payload {
2
2
  dmp_segment_name?: string;
3
3
  enable_batching?: boolean;
4
4
  email?: string;
5
- send_email?: boolean;
6
5
  google_advertising_id?: string;
7
- send_google_advertising_id?: boolean;
8
6
  source_segment_id?: string;
9
7
  personas_audience_key: string;
10
8
  event_name?: string;
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const actions_core_1 = require("@segment/actions-core");
4
4
  const crypto_1 = require("crypto");
5
- const actions_core_2 = require("@segment/actions-core");
5
+ const api_1 = require("../api");
6
6
  const action = {
7
7
  title: 'Sync To LinkedIn DMP Segment',
8
8
  description: 'Syncs contacts from a Personas Audience to a LinkedIn DMP Segment.',
@@ -29,12 +29,6 @@ const action = {
29
29
  '@path': '$.context.traits.email'
30
30
  }
31
31
  },
32
- send_email: {
33
- label: 'Send Email',
34
- description: 'Whether to send `email` to LinkedIn.',
35
- type: 'boolean',
36
- default: true
37
- },
38
32
  google_advertising_id: {
39
33
  label: 'User Google Advertising ID',
40
34
  description: "The user's Google Advertising ID to send to LinkedIn.",
@@ -43,12 +37,6 @@ const action = {
43
37
  '@path': '$.context.device.advertisingId'
44
38
  }
45
39
  },
46
- send_google_advertising_id: {
47
- label: 'Send Google Advertising ID',
48
- description: 'Whether to send Google Advertising ID to LinkedIn.',
49
- type: 'boolean',
50
- default: true
51
- },
52
40
  source_segment_id: {
53
41
  label: 'LinkedIn Source Segment ID',
54
42
  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.",
@@ -80,66 +68,41 @@ const action = {
80
68
  }
81
69
  };
82
70
  async function processPayload(request, settings, payloads) {
83
- if (payloads[0].source_segment_id !== payloads[0].personas_audience_key) {
84
- throw new actions_core_2.IntegrationError('The value of `source_segment_id` and `personas_audience_key` must match.', 'Invalid settings.', 400);
71
+ validate(settings, payloads);
72
+ const linkedinApiClient = new api_1.LinkedInAudiences(request);
73
+ const dmpSegmentId = await getDmpSegmentId(linkedinApiClient, settings, payloads[0]);
74
+ const elements = extractUsers(settings, payloads);
75
+ if (elements.length < 1) {
76
+ return;
85
77
  }
86
- const dmpSegmentId = await getDmpSegmentId(request, settings, payloads[0]);
87
- const elements = extractUsers(payloads);
88
- const res = await request(`https://api.linkedin.com/rest/dmpSegments/${dmpSegmentId}/users`, {
89
- method: 'POST',
90
- headers: {
91
- 'X-RestLi-Method': 'BATCH_CREATE'
92
- },
93
- json: {
94
- elements
95
- },
96
- throwHttpErrors: false
97
- });
78
+ const res = await linkedinApiClient.batchUpdate(dmpSegmentId, elements);
98
79
  if (res.status !== 200) {
99
80
  throw new actions_core_1.RetryableError('Error while attempting to update LinkedIn DMP Segment. This batch will be retried.');
100
81
  }
101
82
  return res;
102
83
  }
103
- async function getDmpSegmentId(request, settings, payload) {
104
- const res = await getDmpSegment(request, settings, payload);
84
+ function validate(settings, payloads) {
85
+ if (payloads[0].source_segment_id !== payloads[0].personas_audience_key) {
86
+ throw new actions_core_1.IntegrationError('The value of `source_segment_id` and `personas_audience_key` must match.', 'INVALID_SETTINGS', 400);
87
+ }
88
+ if (!settings.send_google_advertising_id && !settings.send_email) {
89
+ 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);
90
+ }
91
+ }
92
+ async function getDmpSegmentId(linkedinApiClient, settings, payload) {
93
+ const res = await linkedinApiClient.getDmpSegment(settings, payload);
105
94
  const body = await res.json();
106
95
  if (body.elements?.length > 0) {
107
96
  return body.elements[0].id;
108
97
  }
109
- return createDmpSegment(request, settings, payload);
98
+ return createDmpSegment(linkedinApiClient, settings, payload);
110
99
  }
111
- async function getDmpSegment(request, settings, payload) {
112
- return request('https://api.linkedin.com/rest/dmpSegments', {
113
- method: 'GET',
114
- searchParams: {
115
- q: 'account',
116
- account: `urn:li:sponsoredAccount:${settings.ad_account_id}`,
117
- sourceSegmentId: payload.source_segment_id || '',
118
- sourcePlatform: 'SEGMENT'
119
- }
120
- });
121
- }
122
- async function createDmpSegment(request, settings, payload) {
123
- const res = await request('https://api.linkedin.com/rest/dmpSegments', {
124
- method: 'POST',
125
- json: {
126
- name: payload.dmp_segment_name,
127
- sourcePlatform: 'SEGMENT',
128
- sourceSegmentId: payload.source_segment_id,
129
- account: `urn:li:sponsoredAccount:${settings.ad_account_id}`,
130
- accessPolicy: 'PRIVATE',
131
- type: 'USER',
132
- destinations: [
133
- {
134
- destination: 'LINKEDIN'
135
- }
136
- ]
137
- }
138
- });
100
+ async function createDmpSegment(linkedinApiClient, settings, payload) {
101
+ const res = await linkedinApiClient.createDmpSegment(settings, payload);
139
102
  const headers = res.headers.toJSON();
140
103
  return headers['x-linkedin-id'];
141
104
  }
142
- function extractUsers(payloads) {
105
+ function extractUsers(settings, payloads) {
143
106
  const elements = [];
144
107
  payloads.forEach((payload) => {
145
108
  if (!payload.email && !payload.google_advertising_id) {
@@ -147,7 +110,7 @@ function extractUsers(payloads) {
147
110
  }
148
111
  elements.push({
149
112
  action: getAction(payload),
150
- userIds: getUserIds(payload)
113
+ userIds: getUserIds(settings, payload)
151
114
  });
152
115
  });
153
116
  return elements;
@@ -160,15 +123,15 @@ function getAction(payload) {
160
123
  return 'REMOVE';
161
124
  }
162
125
  }
163
- function getUserIds(payload) {
126
+ function getUserIds(settings, payload) {
164
127
  const users = [];
165
- if (payload.email) {
128
+ if (payload.email && settings.send_email === true) {
166
129
  users.push({
167
130
  idType: 'SHA256_EMAIL',
168
131
  idValue: crypto_1.createHash('sha256').update(payload.email).digest('hex')
169
132
  });
170
133
  }
171
- if (payload.google_advertising_id) {
134
+ if (payload.google_advertising_id && settings.send_google_advertising_id === true) {
172
135
  users.push({
173
136
  idType: 'GOOGLE_AID',
174
137
  idValue: payload.google_advertising_id
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/linkedin-audiences/updateAudience/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/linkedin-audiences/updateAudience/index.ts"],"names":[],"mappings":"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"}
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.113.1-alpha.8",
4
+ "version": "3.113.1-alpha.9",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "https://github.com/segmentio/action-destinations",
@@ -38,8 +38,8 @@
38
38
  "dependencies": {
39
39
  "@amplitude/ua-parser-js": "^0.7.25",
40
40
  "@segment/a1-notation": "^2.1.4",
41
- "@segment/actions-core": "^3.41.1-alpha.8",
42
- "@segment/actions-shared": "^1.24.1-alpha.8",
41
+ "@segment/actions-core": "^3.41.1-alpha.9",
42
+ "@segment/actions-shared": "^1.24.1-alpha.9",
43
43
  "cheerio": "^1.0.0-rc.10",
44
44
  "dayjs": "^1.10.7",
45
45
  "escape-goat": "^3",
@@ -65,5 +65,5 @@
65
65
  "lcov"
66
66
  ]
67
67
  },
68
- "gitHead": "fb0c636e2ac8cd82f3dba8be2a81760a3441a919"
68
+ "gitHead": "5fc9f0090471598ea6683721bf2a09251c8bf63d"
69
69
  }
@@ -1 +0,0 @@
1
- export declare const LINKEDIN_API_VERSION = "202207";
@@ -1,5 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.LINKEDIN_API_VERSION = void 0;
4
- exports.LINKEDIN_API_VERSION = '202207';
5
- //# sourceMappingURL=linkedin-properties.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"linkedin-properties.js","sourceRoot":"","sources":["../../../src/destinations/linkedin-audiences/linkedin-properties.ts"],"names":[],"mappings":";;;AAAa,QAAA,oBAAoB,GAAG,QAAQ,CAAA"}