@segment/action-destinations 3.113.0 → 3.113.1-alpha.10
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.
- package/dist/destinations/hubspot/upsertCompany/generated-types.d.ts +0 -1
- package/dist/destinations/hubspot/upsertCompany/index.js +0 -9
- package/dist/destinations/hubspot/upsertCompany/index.js.map +1 -1
- package/dist/destinations/hubspot/upsertCustomObjectRecord/index.js +1 -1
- package/dist/destinations/hubspot/upsertCustomObjectRecord/index.js.map +1 -1
- package/dist/destinations/linkedin-audiences/api/index.d.ts +13 -0
- package/dist/destinations/linkedin-audiences/api/index.js +62 -0
- package/dist/destinations/linkedin-audiences/api/index.js.map +1 -0
- package/dist/destinations/linkedin-audiences/constants.d.ts +2 -0
- package/dist/destinations/linkedin-audiences/constants.js +6 -0
- package/dist/destinations/linkedin-audiences/constants.js.map +1 -0
- package/dist/destinations/linkedin-audiences/generated-types.d.ts +2 -0
- package/dist/destinations/linkedin-audiences/index.js +49 -20
- package/dist/destinations/linkedin-audiences/index.js.map +1 -1
- package/dist/destinations/linkedin-audiences/types.d.ts +28 -0
- package/dist/destinations/linkedin-audiences/types.js +11 -0
- package/dist/destinations/linkedin-audiences/types.js.map +1 -0
- package/dist/destinations/linkedin-audiences/updateAudience/generated-types.d.ts +0 -2
- package/dist/destinations/linkedin-audiences/updateAudience/index.js +26 -63
- package/dist/destinations/linkedin-audiences/updateAudience/index.js.map +1 -1
- package/package.json +4 -4
- package/dist/destinations/linkedin-audiences/linkedin-properties.d.ts +0 -1
- package/dist/destinations/linkedin-audiences/linkedin-properties.js +0 -5
- package/dist/destinations/linkedin-audiences/linkedin-properties.js.map +0 -1
|
@@ -60,14 +60,6 @@ const action = {
|
|
|
60
60
|
'@path': '$.traits.description'
|
|
61
61
|
}
|
|
62
62
|
},
|
|
63
|
-
createdate: {
|
|
64
|
-
label: 'Company Create Date',
|
|
65
|
-
description: 'The date the company was added to your account.',
|
|
66
|
-
type: 'string',
|
|
67
|
-
default: {
|
|
68
|
-
'@path': '$.traits.createdAt'
|
|
69
|
-
}
|
|
70
|
-
},
|
|
71
63
|
address: {
|
|
72
64
|
label: 'Street Address',
|
|
73
65
|
description: 'The street address of the company.',
|
|
@@ -159,7 +151,6 @@ const action = {
|
|
|
159
151
|
const companyProperties = {
|
|
160
152
|
name: payload.name,
|
|
161
153
|
description: payload.description,
|
|
162
|
-
createdate: payload.createdate,
|
|
163
154
|
address: payload.address,
|
|
164
155
|
city: payload.city,
|
|
165
156
|
state: payload.state,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/hubspot/upsertCompany/index.ts"],"names":[],"mappings":";;AAGA,8CAA6F;AAC7F,sCAQkB;AAElB,IAAK,2BAcJ;AAdD,WAAK,2BAA2B;IAC9B,wCAAS,CAAA;IACT,0CAAW,CAAA;IACX,wCAAS,CAAA;IACT,0CAAW,CAAA;IACX,wCAAS,CAAA;IACT,0CAAW,CAAA;IACX,kDAAmB,CAAA;IACnB,wCAAS,CAAA;IACT,gDAAiB,CAAA;IACjB,4DAA6B,CAAA;IAC7B,oEAAqC,CAAA;IACrC,gEAAiC,CAAA;IACjC,wEAAyC,CAAA;AAC3C,CAAC,EAdI,2BAA2B,KAA3B,2BAA2B,QAc/B;AAkFD,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,gBAAgB;IACvB,WAAW,EAAE,wCAAwC;IACrD,mBAAmB,EAAE,gBAAgB;IACrC,MAAM,EAAE;QACN,OAAO,EAAE;YACP,KAAK,EAAE,UAAU;YACjB,WAAW,EAAE,oCAAoC,sCAAyB,eAAe;YACzF,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE;gBACP,KAAK,EAAE;oBACL,MAAM,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE;oBAChC,IAAI,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE;oBAC9B,IAAI,EAAE,EAAE,OAAO,EAAE,mBAAmB,EAAE;iBACvC;aACF;SACF;QACD,mBAAmB,EAAE;YACnB,KAAK,EAAE,uBAAuB;YAC9B,WAAW,EACT,sVAAsV;YACxV,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,eAAe,EAAE,eAAe;SACjC;QACD,IAAI,EAAE;YACJ,KAAK,EAAE,cAAc;YACrB,WAAW,EAAE,0BAA0B;YACvC,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE;gBACP,OAAO,EAAE,eAAe;aACzB;SACF;QACD,WAAW,EAAE;YACX,KAAK,EAAE,qBAAqB;YAC5B,WAAW,EAAE,0DAA0D;YACvE,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE;gBACP,OAAO,EAAE,sBAAsB;aAChC;SACF;QACD,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/hubspot/upsertCompany/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
const properties_1 = require("../properties");
|
|
4
4
|
const action = {
|
|
5
5
|
title: 'Create Custom Object Record',
|
|
6
|
-
description: 'Create records
|
|
6
|
+
description: 'Create records of Deals, Tickets or other Custom Objects in HubSpot.',
|
|
7
7
|
fields: {
|
|
8
8
|
objectType: {
|
|
9
9
|
label: 'Object Type',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/hubspot/upsertCustomObjectRecord/index.ts"],"names":[],"mappings":";;AAIA,8CAAgD;AAchD,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,6BAA6B;IACpC,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/hubspot/upsertCustomObjectRecord/index.ts"],"names":[],"mappings":";;AAIA,8CAAgD;AAchD,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,6BAA6B;IACpC,WAAW,EAAE,sEAAsE;IACnF,MAAM,EAAE;QACN,UAAU,EAAE;YACV,KAAK,EAAE,aAAa;YACpB,WAAW,EACT,+YAA+Y;YACjZ,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,IAAI;SACd;QACD,UAAU,EAAE;YACV,KAAK,EAAE,YAAY;YACnB,WAAW,EACT,gcAAgc;YAClc,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,eAAe,EAAE,eAAe;YAChC,SAAS,EAAE,KAAK;SACjB;KACF;IACD,aAAa,EAAE;QACb,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE;YAC/B,OAAO,gBAAgB,CAAC,OAAO,CAAC,CAAA;QAClC,CAAC;KACF;IACD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;QACtC,OAAO,OAAO,CAAC,GAAG,6BAAgB,mBAAmB,OAAO,CAAC,UAAU,EAAE,EAAE;YACzE,MAAM,EAAE,MAAM;YACd,IAAI,EAAE;gBACJ,UAAU,EAAE,EAAE,GAAG,OAAO,CAAC,UAAU,EAAE;aACtC;SACF,CAAC,CAAA;IACJ,CAAC;CACF,CAAA;AAED,KAAK,UAAU,gBAAgB,CAAC,OAAsB;IAEpD,MAAM,cAAc,GAAG;QACrB,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;QAClC,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;KACvC,CAAA;IAED,IAAI;QAGF,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAqB,GAAG,6BAAgB,gCAAgC,EAAE;YACtG,MAAM,EAAE,KAAK;YACb,mBAAmB,EAAE,IAAI;SAC1B,CAAC,CAAA;QACF,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YACrD,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM;YAC3B,KAAK,EAAE,MAAM,CAAC,kBAAkB;SACjC,CAAC,CAAC,CAAA;QACH,OAAO;YACL,OAAO,EAAE,CAAC,GAAG,OAAO,EAAE,GAAG,cAAc,CAAC;SACzC,CAAA;KACF;IAAC,OAAO,GAAG,EAAE;QACZ,OAAO;YACL,OAAO,EAAE,EAAE;YACX,KAAK,EAAE;gBACL,OAAO,EAAG,GAAoB,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,IAAI,eAAe;gBAC1E,IAAI,EAAG,GAAoB,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,IAAI,cAAc;aACxE;SACF,CAAA;KACF;AACH,CAAC;AAED,kBAAe,MAAM,CAAA"}
|
|
@@ -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,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"}
|
|
@@ -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
|
|
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
|
|
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
|
|
30
|
-
method: 'GET'
|
|
31
|
-
});
|
|
50
|
+
firstRes = await linkedinApiClient.getProfile();
|
|
32
51
|
}
|
|
33
52
|
catch (e) {
|
|
34
|
-
|
|
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
|
|
43
|
-
method: 'GET'
|
|
44
|
-
});
|
|
62
|
+
secondRes = await linkedinApiClient.getAdAccountUserProfile(settings, userId);
|
|
45
63
|
}
|
|
46
64
|
catch (e) {
|
|
47
|
-
|
|
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
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
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':
|
|
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":";;;;;
|
|
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
|
|
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
|
-
|
|
84
|
-
|
|
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
|
|
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
|
-
|
|
104
|
-
|
|
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(
|
|
98
|
+
return createDmpSegment(linkedinApiClient, settings, payload);
|
|
110
99
|
}
|
|
111
|
-
async function
|
|
112
|
-
|
|
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":";;
|
|
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.
|
|
4
|
+
"version": "3.113.1-alpha.10",
|
|
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.
|
|
42
|
-
"@segment/actions-shared": "^1.24.
|
|
41
|
+
"@segment/actions-core": "^3.41.1-alpha.10",
|
|
42
|
+
"@segment/actions-shared": "^1.24.1-alpha.10",
|
|
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": "
|
|
68
|
+
"gitHead": "5fc9f0090471598ea6683721bf2a09251c8bf63d"
|
|
69
69
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const LINKEDIN_API_VERSION = "202207";
|
|
@@ -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"}
|