@segment/action-destinations 3.368.0 → 3.369.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.
- package/dist/destinations/first-party-dv360/_tests_/index.test.js +152 -151
- package/dist/destinations/first-party-dv360/_tests_/index.test.js.map +1 -1
- package/dist/destinations/first-party-dv360/functions.d.ts +0 -8
- package/dist/destinations/first-party-dv360/functions.js +1 -32
- package/dist/destinations/first-party-dv360/functions.js.map +1 -1
- package/dist/destinations/first-party-dv360/index.d.ts +6 -0
- package/dist/destinations/first-party-dv360/index.js +63 -9
- package/dist/destinations/first-party-dv360/index.js.map +1 -1
- package/dist/destinations/first-party-dv360/types.d.ts +36 -0
- package/dist/destinations/first-party-dv360/types.js +3 -0
- package/dist/destinations/first-party-dv360/types.js.map +1 -0
- package/package.json +2 -2
|
@@ -9,32 +9,37 @@ const index_1 = __importDefault(require("../index"));
|
|
|
9
9
|
const audienceName = 'Test Audience';
|
|
10
10
|
const testDestination = actions_core_1.createTestIntegration(index_1.default);
|
|
11
11
|
const createAudienceInput = {
|
|
12
|
-
settings: {
|
|
12
|
+
settings: {
|
|
13
|
+
oauth: {
|
|
14
|
+
refresh_token: 'mock-refresh-token'
|
|
15
|
+
}
|
|
16
|
+
},
|
|
13
17
|
audienceName: audienceName,
|
|
14
18
|
audienceSettings: {
|
|
15
19
|
advertiserId: '12345',
|
|
16
20
|
audienceType: 'CUSTOMER_MATCH_CONTACT_INFO',
|
|
17
21
|
membershipDurationDays: '30',
|
|
18
|
-
token: 'temp-token',
|
|
19
22
|
description: 'Test description'
|
|
20
23
|
}
|
|
21
24
|
};
|
|
22
25
|
const getAudienceInput = {
|
|
23
|
-
settings: {
|
|
26
|
+
settings: {
|
|
27
|
+
oauth: {
|
|
28
|
+
refresh_token: 'mock-refresh-token'
|
|
29
|
+
}
|
|
30
|
+
},
|
|
24
31
|
audienceSettings: {
|
|
25
|
-
advertiserId: '12345'
|
|
26
|
-
token: 'temp-token'
|
|
32
|
+
advertiserId: '12345'
|
|
27
33
|
},
|
|
28
34
|
externalId: 'audience-id-123'
|
|
29
35
|
};
|
|
30
36
|
beforeAll(() => {
|
|
31
|
-
process.env.ACTIONS_FIRST_PARTY_DV360_REFRESH_TOKEN = 'mock-refresh-token';
|
|
32
37
|
process.env.ACTIONS_FIRST_PARTY_DV360_CLIENT_ID = 'mock-client-id';
|
|
33
38
|
process.env.ACTIONS_FIRST_PARTY_DV360_CLIENT_SECRET = 'mock-client-secret';
|
|
34
39
|
});
|
|
35
40
|
beforeEach(() => {
|
|
36
|
-
nock_1.default('https://
|
|
37
|
-
.post('/
|
|
41
|
+
nock_1.default('https://www.googleapis.com')
|
|
42
|
+
.post('/oauth2/v4/token', {
|
|
38
43
|
refresh_token: 'mock-refresh-token',
|
|
39
44
|
client_id: 'mock-client-id',
|
|
40
45
|
client_secret: 'mock-client-secret',
|
|
@@ -83,164 +88,160 @@ describe('Audience Destination', () => {
|
|
|
83
88
|
await expect(testDestination.getAudience(missingIdInput)).rejects.toThrowError(new actions_core_1.IntegrationError('Failed to retrieve audience ID value', 'MISSING_REQUIRED_FIELD', 400));
|
|
84
89
|
});
|
|
85
90
|
});
|
|
86
|
-
|
|
87
|
-
const payloadContactInfo = {
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
};
|
|
95
|
-
const
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
external_audience_id: 'audience-id-123',
|
|
107
|
-
audience_settings: {
|
|
108
|
-
advertiserId: '12345',
|
|
109
|
-
token: 'temp-token'
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
});
|
|
114
|
-
it('should add customer match members successfully', async () => {
|
|
115
|
-
nock_1.default('https://displayvideo.googleapis.com')
|
|
116
|
-
.post('/v3/firstAndThirdPartyAudiences/audience-id-123:editCustomerMatchMembers', {
|
|
117
|
-
advertiserId: '12345',
|
|
118
|
-
addedContactInfoList: {
|
|
119
|
-
contactInfos: [
|
|
120
|
-
{
|
|
121
|
-
hashedEmails: '87924606b4131a8aceeeae8868531fbb9712aaa07a5d3a756b26ce0f5d6ca674',
|
|
122
|
-
hashedPhoneNumbers: 'c775e7b757ede630cd0aa1113bd102661ab38829ca52a6422ab782862f268646',
|
|
123
|
-
zipCodes: '12345',
|
|
124
|
-
hashedFirstName: '96d9632f363564cc3032521409cf22a852f2032eec099ed5967c0d000cec607a',
|
|
125
|
-
hashedLastName: '799ef92a11af918e3fb741df42934f3b568ed2d93ac1df74f1b8d41a27932a6f',
|
|
126
|
-
countryCode: '+1'
|
|
91
|
+
describe('Edit Customer Match Members - Contact Info List', () => {
|
|
92
|
+
const payloadContactInfo = {
|
|
93
|
+
emails: 'test@gmail.com',
|
|
94
|
+
phoneNumbers: '1234567890',
|
|
95
|
+
zipCodes: '12345',
|
|
96
|
+
firstName: 'John',
|
|
97
|
+
lastName: 'Doe',
|
|
98
|
+
countryCode: '+1'
|
|
99
|
+
};
|
|
100
|
+
const event = actions_core_1.createTestEvent({
|
|
101
|
+
event: 'Audience Entered',
|
|
102
|
+
type: 'track',
|
|
103
|
+
properties: {},
|
|
104
|
+
context: {
|
|
105
|
+
traits: payloadContactInfo,
|
|
106
|
+
personas: {
|
|
107
|
+
external_audience_id: 'audience-id-123',
|
|
108
|
+
audience_settings: {
|
|
109
|
+
advertiserId: '12345',
|
|
110
|
+
token: 'temp-token'
|
|
127
111
|
}
|
|
128
|
-
],
|
|
129
|
-
consent: {
|
|
130
|
-
adUserData: 'CONSENT_STATUS_GRANTED',
|
|
131
|
-
adPersonalization: 'CONSENT_STATUS_GRANTED'
|
|
132
112
|
}
|
|
133
113
|
}
|
|
134
|
-
})
|
|
135
|
-
.matchHeader('Authorization', 'Bearer temp-token')
|
|
136
|
-
.reply(200, { firstAndThirdPartyAudienceId: 'audience-id-123' });
|
|
137
|
-
const result = await testDestination.testAction('addToAudContactInfo', {
|
|
138
|
-
event,
|
|
139
|
-
useDefaultMappings: true
|
|
140
114
|
});
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
countryCode: '+1'
|
|
115
|
+
it('should add customer match members successfully', async () => {
|
|
116
|
+
nock_1.default('https://displayvideo.googleapis.com')
|
|
117
|
+
.post('/v3/firstAndThirdPartyAudiences/audience-id-123:editCustomerMatchMembers', {
|
|
118
|
+
advertiserId: '12345',
|
|
119
|
+
addedContactInfoList: {
|
|
120
|
+
contactInfos: [
|
|
121
|
+
{
|
|
122
|
+
hashedEmails: '87924606b4131a8aceeeae8868531fbb9712aaa07a5d3a756b26ce0f5d6ca674',
|
|
123
|
+
hashedPhoneNumbers: 'c775e7b757ede630cd0aa1113bd102661ab38829ca52a6422ab782862f268646',
|
|
124
|
+
zipCodes: '12345',
|
|
125
|
+
hashedFirstName: '96d9632f363564cc3032521409cf22a852f2032eec099ed5967c0d000cec607a',
|
|
126
|
+
hashedLastName: '799ef92a11af918e3fb741df42934f3b568ed2d93ac1df74f1b8d41a27932a6f',
|
|
127
|
+
countryCode: '+1'
|
|
128
|
+
}
|
|
129
|
+
],
|
|
130
|
+
consent: {
|
|
131
|
+
adUserData: 'CONSENT_STATUS_GRANTED',
|
|
132
|
+
adPersonalization: 'CONSENT_STATUS_GRANTED'
|
|
160
133
|
}
|
|
161
|
-
],
|
|
162
|
-
consent: {
|
|
163
|
-
adUserData: 'CONSENT_STATUS_GRANTED',
|
|
164
|
-
adPersonalization: 'CONSENT_STATUS_GRANTED'
|
|
165
134
|
}
|
|
166
|
-
}
|
|
167
|
-
})
|
|
168
|
-
.matchHeader('Authorization', 'Bearer temp-token')
|
|
169
|
-
.reply(200, { firstAndThirdPartyAudienceId: 'audience-id-123' });
|
|
170
|
-
const result = await testDestination.testAction('removeFromAudContactInfo', {
|
|
171
|
-
event,
|
|
172
|
-
useDefaultMappings: true
|
|
173
|
-
});
|
|
174
|
-
expect(result).toContainEqual(expect.objectContaining({
|
|
175
|
-
data: expect.objectContaining({
|
|
176
|
-
firstAndThirdPartyAudienceId: 'audience-id-123'
|
|
177
135
|
})
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
136
|
+
.reply(200, { firstAndThirdPartyAudienceId: 'audience-id-123' });
|
|
137
|
+
const result = await testDestination.testAction('addToAudContactInfo', {
|
|
138
|
+
event,
|
|
139
|
+
useDefaultMappings: true
|
|
140
|
+
});
|
|
141
|
+
expect(result).toContainEqual(expect.objectContaining({
|
|
142
|
+
data: expect.objectContaining({
|
|
143
|
+
firstAndThirdPartyAudienceId: 'audience-id-123'
|
|
144
|
+
})
|
|
145
|
+
}));
|
|
146
|
+
});
|
|
147
|
+
it('should remove customer match members successfully', async () => {
|
|
148
|
+
nock_1.default('https://displayvideo.googleapis.com')
|
|
149
|
+
.post('/v3/firstAndThirdPartyAudiences/audience-id-123:editCustomerMatchMembers', {
|
|
150
|
+
advertiserId: '12345',
|
|
151
|
+
removedContactInfoList: {
|
|
152
|
+
contactInfos: [
|
|
153
|
+
{
|
|
154
|
+
hashedEmails: '87924606b4131a8aceeeae8868531fbb9712aaa07a5d3a756b26ce0f5d6ca674',
|
|
155
|
+
hashedPhoneNumbers: 'c775e7b757ede630cd0aa1113bd102661ab38829ca52a6422ab782862f268646',
|
|
156
|
+
zipCodes: '12345',
|
|
157
|
+
hashedFirstName: '96d9632f363564cc3032521409cf22a852f2032eec099ed5967c0d000cec607a',
|
|
158
|
+
hashedLastName: '799ef92a11af918e3fb741df42934f3b568ed2d93ac1df74f1b8d41a27932a6f',
|
|
159
|
+
countryCode: '+1'
|
|
160
|
+
}
|
|
161
|
+
],
|
|
162
|
+
consent: {
|
|
163
|
+
adUserData: 'CONSENT_STATUS_GRANTED',
|
|
164
|
+
adPersonalization: 'CONSENT_STATUS_GRANTED'
|
|
165
|
+
}
|
|
193
166
|
}
|
|
194
|
-
}
|
|
195
|
-
|
|
167
|
+
})
|
|
168
|
+
.reply(200, { firstAndThirdPartyAudienceId: 'audience-id-123' });
|
|
169
|
+
const result = await testDestination.testAction('removeFromAudContactInfo', {
|
|
170
|
+
event,
|
|
171
|
+
useDefaultMappings: true
|
|
172
|
+
});
|
|
173
|
+
expect(result).toContainEqual(expect.objectContaining({
|
|
174
|
+
data: expect.objectContaining({
|
|
175
|
+
firstAndThirdPartyAudienceId: 'audience-id-123'
|
|
176
|
+
})
|
|
177
|
+
}));
|
|
178
|
+
});
|
|
196
179
|
});
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
180
|
+
describe('Edit Customer Match Members - Mobile Device ID List', () => {
|
|
181
|
+
const payloadDeviceId = {
|
|
182
|
+
mobileDeviceIds: '123'
|
|
183
|
+
};
|
|
184
|
+
const event = actions_core_1.createTestEvent({
|
|
185
|
+
event: 'Audience Entered',
|
|
186
|
+
type: 'track',
|
|
187
|
+
properties: {},
|
|
188
|
+
context: {
|
|
189
|
+
traits: payloadDeviceId,
|
|
190
|
+
personas: {
|
|
191
|
+
external_audience_id: 'audience-id-123',
|
|
192
|
+
audience_settings: {
|
|
193
|
+
advertiserId: '12345',
|
|
194
|
+
token: 'temp-token'
|
|
195
|
+
}
|
|
206
196
|
}
|
|
207
197
|
}
|
|
208
|
-
})
|
|
209
|
-
.matchHeader('Authorization', 'Bearer temp-token')
|
|
210
|
-
.reply(200, { firstAndThirdPartyAudienceId: 'audience-id-123' });
|
|
211
|
-
const result = await testDestination.testAction('addToAudMobileDeviceId', {
|
|
212
|
-
event,
|
|
213
|
-
useDefaultMappings: true
|
|
214
198
|
});
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
removedMobileDeviceIdList: {
|
|
226
|
-
mobileDeviceIds: ['123'],
|
|
227
|
-
consent: {
|
|
228
|
-
adUserData: 'CONSENT_STATUS_GRANTED',
|
|
229
|
-
adPersonalization: 'CONSENT_STATUS_GRANTED'
|
|
199
|
+
it('should add customer match members successfully', async () => {
|
|
200
|
+
nock_1.default('https://displayvideo.googleapis.com')
|
|
201
|
+
.post('/v3/firstAndThirdPartyAudiences/audience-id-123:editCustomerMatchMembers', {
|
|
202
|
+
advertiserId: '12345',
|
|
203
|
+
addedMobileDeviceIdList: {
|
|
204
|
+
mobileDeviceIds: ['123'],
|
|
205
|
+
consent: {
|
|
206
|
+
adUserData: 'CONSENT_STATUS_GRANTED',
|
|
207
|
+
adPersonalization: 'CONSENT_STATUS_GRANTED'
|
|
208
|
+
}
|
|
230
209
|
}
|
|
231
|
-
}
|
|
232
|
-
|
|
233
|
-
.
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
210
|
+
})
|
|
211
|
+
.reply(200, { firstAndThirdPartyAudienceId: 'audience-id-123' });
|
|
212
|
+
const result = await testDestination.testAction('addToAudMobileDeviceId', {
|
|
213
|
+
event,
|
|
214
|
+
useDefaultMappings: true
|
|
215
|
+
});
|
|
216
|
+
expect(result).toContainEqual(expect.objectContaining({
|
|
217
|
+
data: expect.objectContaining({
|
|
218
|
+
firstAndThirdPartyAudienceId: 'audience-id-123'
|
|
219
|
+
})
|
|
220
|
+
}));
|
|
238
221
|
});
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
222
|
+
it('should remove customer match members successfully', async () => {
|
|
223
|
+
nock_1.default('https://displayvideo.googleapis.com')
|
|
224
|
+
.post('/v3/firstAndThirdPartyAudiences/audience-id-123:editCustomerMatchMembers', {
|
|
225
|
+
advertiserId: '12345',
|
|
226
|
+
removedMobileDeviceIdList: {
|
|
227
|
+
mobileDeviceIds: ['123'],
|
|
228
|
+
consent: {
|
|
229
|
+
adUserData: 'CONSENT_STATUS_GRANTED',
|
|
230
|
+
adPersonalization: 'CONSENT_STATUS_GRANTED'
|
|
231
|
+
}
|
|
232
|
+
}
|
|
242
233
|
})
|
|
243
|
-
|
|
234
|
+
.reply(200, { firstAndThirdPartyAudienceId: 'audience-id-123' });
|
|
235
|
+
const result = await testDestination.testAction('removeFromAudMobileDeviceId', {
|
|
236
|
+
event,
|
|
237
|
+
useDefaultMappings: true
|
|
238
|
+
});
|
|
239
|
+
expect(result).toContainEqual(expect.objectContaining({
|
|
240
|
+
data: expect.objectContaining({
|
|
241
|
+
firstAndThirdPartyAudienceId: 'audience-id-123'
|
|
242
|
+
})
|
|
243
|
+
}));
|
|
244
|
+
});
|
|
244
245
|
});
|
|
245
246
|
});
|
|
246
247
|
//# sourceMappingURL=index.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../../../src/destinations/first-party-dv360/_tests_/index.test.ts"],"names":[],"mappings":";;;;;AAAA,gDAAuB;AACvB,wDAAgG;AAChG,qDAAkC;AAElC,MAAM,YAAY,GAAG,eAAe,CAAA;AACpC,MAAM,eAAe,GAAG,oCAAqB,CAAC,eAAW,CAAC,CAAA;AAE1D,MAAM,mBAAmB,GAAG;IAC1B,QAAQ,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../../../src/destinations/first-party-dv360/_tests_/index.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,14 +25,6 @@ interface DV360editCustomerMatchResponse {
|
|
|
25
25
|
}
|
|
26
26
|
];
|
|
27
27
|
}
|
|
28
|
-
declare type DV360AuthCredentials = {
|
|
29
|
-
refresh_token: string;
|
|
30
|
-
access_token: string;
|
|
31
|
-
client_id: string;
|
|
32
|
-
client_secret: string;
|
|
33
|
-
};
|
|
34
|
-
export declare const getAuthSettings: () => DV360AuthCredentials;
|
|
35
|
-
export declare const getAuthToken: (request: RequestClient, settings: DV360AuthCredentials) => Promise<string>;
|
|
36
28
|
export declare const createAudienceRequest: (request: RequestClient, params: createAudienceRequestParams) => Promise<Response>;
|
|
37
29
|
export declare const getAudienceRequest: (request: RequestClient, params: getAudienceParams) => Promise<Response>;
|
|
38
30
|
export declare function editDeviceMobileIds(request: RequestClient, payloads: DeviceIdPayload[], operation: 'add' | 'remove', statsContext?: StatsContext): Promise<DV360editCustomerMatchResponse | undefined>;
|
|
@@ -1,35 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.editContactInfo = exports.editDeviceMobileIds = exports.getAudienceRequest = exports.createAudienceRequest =
|
|
3
|
+
exports.editContactInfo = exports.editDeviceMobileIds = exports.getAudienceRequest = exports.createAudienceRequest = void 0;
|
|
4
4
|
const actions_core_1 = require("@segment/actions-core");
|
|
5
5
|
const crypto_1 = require("crypto");
|
|
6
6
|
const DV360API = `https://displayvideo.googleapis.com/v3/firstAndThirdPartyAudiences`;
|
|
7
7
|
const CONSENT_STATUS_GRANTED = 'CONSENT_STATUS_GRANTED';
|
|
8
|
-
const OAUTH_URL = 'https://accounts.google.com/o/oauth2/token';
|
|
9
|
-
const getAuthSettings = () => {
|
|
10
|
-
return {
|
|
11
|
-
refresh_token: process.env.ACTIONS_FIRST_PARTY_DV360_REFRESH_TOKEN,
|
|
12
|
-
client_id: process.env.ACTIONS_FIRST_PARTY_DV360_CLIENT_ID,
|
|
13
|
-
client_secret: process.env.ACTIONS_FIRST_PARTY_DV360_CLIENT_SECRET
|
|
14
|
-
};
|
|
15
|
-
};
|
|
16
|
-
exports.getAuthSettings = getAuthSettings;
|
|
17
|
-
const getAuthToken = async (request, settings) => {
|
|
18
|
-
if (!settings.refresh_token) {
|
|
19
|
-
throw new actions_core_1.IntegrationError('Refresh token is missing', 'INVALID_REQUEST_DATA', 400);
|
|
20
|
-
}
|
|
21
|
-
const { data } = await request(OAUTH_URL, {
|
|
22
|
-
method: 'POST',
|
|
23
|
-
body: new URLSearchParams({
|
|
24
|
-
refresh_token: settings.refresh_token,
|
|
25
|
-
client_id: settings.client_id,
|
|
26
|
-
client_secret: settings.client_secret,
|
|
27
|
-
grant_type: 'refresh_token'
|
|
28
|
-
})
|
|
29
|
-
});
|
|
30
|
-
return data.access_token;
|
|
31
|
-
};
|
|
32
|
-
exports.getAuthToken = getAuthToken;
|
|
33
8
|
const createAudienceRequest = (request, params) => {
|
|
34
9
|
const { advertiserId, audienceName, description, membershipDurationDays, audienceType, appId, token } = params;
|
|
35
10
|
const endpoint = DV360API + `?advertiserId=${advertiserId}`;
|
|
@@ -69,8 +44,6 @@ async function editDeviceMobileIds(request, payloads, operation, statsContext) {
|
|
|
69
44
|
if (payload.mobileDeviceIds === undefined) {
|
|
70
45
|
return;
|
|
71
46
|
}
|
|
72
|
-
const authSettings = exports.getAuthSettings();
|
|
73
|
-
const token = await exports.getAuthToken(request, authSettings);
|
|
74
47
|
const endpoint = DV360API + '/' + audienceId + ':editCustomerMatchMembers';
|
|
75
48
|
const mobileDeviceIdList = {
|
|
76
49
|
mobileDeviceIds: [payload.mobileDeviceIds],
|
|
@@ -87,7 +60,6 @@ async function editDeviceMobileIds(request, payloads, operation, statsContext) {
|
|
|
87
60
|
const response = await request(endpoint, {
|
|
88
61
|
method: 'POST',
|
|
89
62
|
headers: {
|
|
90
|
-
authorization: `Bearer ${token}`,
|
|
91
63
|
'Content-Type': 'application/json; charset=utf-8'
|
|
92
64
|
},
|
|
93
65
|
body: requestPayload
|
|
@@ -109,8 +81,6 @@ async function editContactInfo(request, payloads, operation, statsContext) {
|
|
|
109
81
|
payload.lastName === undefined) {
|
|
110
82
|
return;
|
|
111
83
|
}
|
|
112
|
-
const authSettings = exports.getAuthSettings();
|
|
113
|
-
const token = await exports.getAuthToken(request, authSettings);
|
|
114
84
|
const endpoint = DV360API + '/' + audienceId + ':editCustomerMatchMembers';
|
|
115
85
|
const contactInfoList = {
|
|
116
86
|
contactInfos: [processPayload(payload)],
|
|
@@ -127,7 +97,6 @@ async function editContactInfo(request, payloads, operation, statsContext) {
|
|
|
127
97
|
const response = await request(endpoint, {
|
|
128
98
|
method: 'POST',
|
|
129
99
|
headers: {
|
|
130
|
-
authorization: `Bearer ${token}`,
|
|
131
100
|
'Content-Type': 'application/json; charset=utf-8'
|
|
132
101
|
},
|
|
133
102
|
body: requestPayload
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"functions.js","sourceRoot":"","sources":["../../../src/destinations/first-party-dv360/functions.ts"],"names":[],"mappings":";;;AAAA,wDAAqF;AAErF,mCAAmC;AAGnC,MAAM,QAAQ,GAAG,oEAAoE,CAAA;AACrF,MAAM,sBAAsB,GAAG,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"functions.js","sourceRoot":"","sources":["../../../src/destinations/first-party-dv360/functions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,10 @@
|
|
|
1
1
|
import { AudienceDestinationDefinition } from '@segment/actions-core';
|
|
2
2
|
import type { AudienceSettings, Settings } from './generated-types';
|
|
3
|
+
export interface RefreshTokenResponse {
|
|
4
|
+
access_token: string;
|
|
5
|
+
scope: string;
|
|
6
|
+
expires_in: number;
|
|
7
|
+
token_type: string;
|
|
8
|
+
}
|
|
3
9
|
declare const destination: AudienceDestinationDefinition<Settings, AudienceSettings>;
|
|
4
10
|
export default destination;
|
|
@@ -13,6 +13,32 @@ const destination = {
|
|
|
13
13
|
name: 'First Party Dv360',
|
|
14
14
|
slug: 'actions-first-party-dv360',
|
|
15
15
|
mode: 'cloud',
|
|
16
|
+
authentication: {
|
|
17
|
+
scheme: 'oauth2',
|
|
18
|
+
fields: {},
|
|
19
|
+
testAuthentication: async (_request) => {
|
|
20
|
+
return true;
|
|
21
|
+
},
|
|
22
|
+
refreshAccessToken: async (request, { auth }) => {
|
|
23
|
+
const res = await request('https://www.googleapis.com/oauth2/v4/token', {
|
|
24
|
+
method: 'POST',
|
|
25
|
+
body: new URLSearchParams({
|
|
26
|
+
refresh_token: auth.refreshToken,
|
|
27
|
+
client_id: auth.clientId,
|
|
28
|
+
client_secret: auth.clientSecret,
|
|
29
|
+
grant_type: 'refresh_token'
|
|
30
|
+
})
|
|
31
|
+
});
|
|
32
|
+
return { accessToken: res.data.access_token };
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
extendRequest({ auth }) {
|
|
36
|
+
return {
|
|
37
|
+
headers: {
|
|
38
|
+
authorization: `Bearer ${auth?.accessToken}`
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
},
|
|
16
42
|
audienceFields: {
|
|
17
43
|
advertiserId: {
|
|
18
44
|
type: 'string',
|
|
@@ -54,8 +80,9 @@ const destination = {
|
|
|
54
80
|
type: 'synced',
|
|
55
81
|
full_audience_sync: false
|
|
56
82
|
},
|
|
57
|
-
createAudience: async (_request,
|
|
58
|
-
const { audienceName, audienceSettings, statsContext } =
|
|
83
|
+
createAudience: async (_request, _CreateAudienceInput) => {
|
|
84
|
+
const { audienceName, audienceSettings, statsContext } = _CreateAudienceInput;
|
|
85
|
+
const auth = _CreateAudienceInput.settings.oauth;
|
|
59
86
|
const advertiserId = audienceSettings?.advertiserId?.trim();
|
|
60
87
|
const description = audienceSettings?.description;
|
|
61
88
|
const membershipDurationDays = audienceSettings?.membershipDurationDays;
|
|
@@ -85,8 +112,21 @@ const destination = {
|
|
|
85
112
|
statsClient?.incr(`${statsName}.error`, 1, statsTags);
|
|
86
113
|
throw new actions_core_1.IntegrationError('Missing audience type value', 'MISSING_REQUIRED_FIELD', 400);
|
|
87
114
|
}
|
|
88
|
-
|
|
89
|
-
|
|
115
|
+
if (!auth?.refresh_token ||
|
|
116
|
+
!process.env.ACTIONS_FIRST_PARTY_DV360_CLIENT_ID ||
|
|
117
|
+
!process.env.ACTIONS_FIRST_PARTY_DV360_CLIENT_SECRET) {
|
|
118
|
+
throw new actions_core_1.PayloadValidationError('Oauth credentials missing.');
|
|
119
|
+
}
|
|
120
|
+
const res = await _request('https://www.googleapis.com/oauth2/v4/token', {
|
|
121
|
+
method: 'POST',
|
|
122
|
+
body: new URLSearchParams({
|
|
123
|
+
refresh_token: auth.refresh_token,
|
|
124
|
+
client_id: process.env.ACTIONS_FIRST_PARTY_DV360_CLIENT_ID,
|
|
125
|
+
client_secret: process.env.ACTIONS_FIRST_PARTY_DV360_CLIENT_SECRET,
|
|
126
|
+
grant_type: 'refresh_token'
|
|
127
|
+
})
|
|
128
|
+
});
|
|
129
|
+
const token = res.data.access_token;
|
|
90
130
|
const response = await functions_1.createAudienceRequest(_request, {
|
|
91
131
|
advertiserId,
|
|
92
132
|
audienceName,
|
|
@@ -102,16 +142,30 @@ const destination = {
|
|
|
102
142
|
externalId: r.firstAndThirdPartyAudienceId
|
|
103
143
|
};
|
|
104
144
|
},
|
|
105
|
-
getAudience: async (_request,
|
|
106
|
-
const { audienceSettings, statsContext } =
|
|
107
|
-
const
|
|
145
|
+
getAudience: async (_request, _GetAudienceInput) => {
|
|
146
|
+
const { audienceSettings, statsContext } = _GetAudienceInput;
|
|
147
|
+
const auth = _GetAudienceInput.settings.oauth;
|
|
148
|
+
const audienceId = _GetAudienceInput.externalId;
|
|
108
149
|
const advertiserId = audienceSettings?.advertiserId?.trim();
|
|
109
150
|
const statsName = 'getAudience';
|
|
110
151
|
const { statsClient, tags: statsTags } = statsContext || {};
|
|
111
152
|
statsTags?.push(`slug:${destination.slug}`);
|
|
112
153
|
statsClient?.incr(`${statsName}.call`, 1, statsTags);
|
|
113
|
-
|
|
114
|
-
|
|
154
|
+
if (!auth?.refresh_token ||
|
|
155
|
+
!process.env.ACTIONS_FIRST_PARTY_DV360_CLIENT_ID ||
|
|
156
|
+
!process.env.ACTIONS_FIRST_PARTY_DV360_CLIENT_SECRET) {
|
|
157
|
+
throw new actions_core_1.PayloadValidationError('Oauth credentials missing.');
|
|
158
|
+
}
|
|
159
|
+
const res = await _request('https://www.googleapis.com/oauth2/v4/token', {
|
|
160
|
+
method: 'POST',
|
|
161
|
+
body: new URLSearchParams({
|
|
162
|
+
refresh_token: auth.refresh_token,
|
|
163
|
+
client_id: process.env.ACTIONS_FIRST_PARTY_DV360_CLIENT_ID,
|
|
164
|
+
client_secret: process.env.ACTIONS_FIRST_PARTY_DV360_CLIENT_SECRET,
|
|
165
|
+
grant_type: 'refresh_token'
|
|
166
|
+
})
|
|
167
|
+
});
|
|
168
|
+
const token = res.data.access_token;
|
|
115
169
|
if (!advertiserId) {
|
|
116
170
|
statsTags?.push('error:missing-settings');
|
|
117
171
|
statsClient?.incr(`${statsName}.error`, 1, statsTags);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/destinations/first-party-dv360/index.ts"],"names":[],"mappings":";;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/destinations/first-party-dv360/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { StatsContext } from '@segment/actions-core/destination-kit';
|
|
2
|
+
import { Features } from '@segment/actions-core/mapping-kit';
|
|
3
|
+
export interface _CreateAudienceInput {
|
|
4
|
+
audienceName: string;
|
|
5
|
+
settings: {
|
|
6
|
+
oauth?: {
|
|
7
|
+
refresh_token?: string;
|
|
8
|
+
};
|
|
9
|
+
};
|
|
10
|
+
audienceSettings: {
|
|
11
|
+
advertiserId: string;
|
|
12
|
+
audienceType: string;
|
|
13
|
+
description?: string;
|
|
14
|
+
appId?: string;
|
|
15
|
+
membershipDurationDays: string;
|
|
16
|
+
};
|
|
17
|
+
statsContext?: StatsContext;
|
|
18
|
+
features?: Features;
|
|
19
|
+
}
|
|
20
|
+
export interface _GetAudienceInput {
|
|
21
|
+
externalId: string;
|
|
22
|
+
settings: {
|
|
23
|
+
oauth?: {
|
|
24
|
+
refresh_token?: string;
|
|
25
|
+
};
|
|
26
|
+
};
|
|
27
|
+
audienceSettings: {
|
|
28
|
+
advertiserId: string;
|
|
29
|
+
audienceType: string;
|
|
30
|
+
description?: string;
|
|
31
|
+
appId?: string;
|
|
32
|
+
membershipDurationDays: string;
|
|
33
|
+
};
|
|
34
|
+
statsContext?: StatsContext;
|
|
35
|
+
features?: Features;
|
|
36
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/destinations/first-party-dv360/types.ts"],"names":[],"mappings":""}
|
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.
|
|
4
|
+
"version": "3.369.0",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
7
7
|
"url": "https://github.com/segmentio/action-destinations",
|
|
@@ -88,5 +88,5 @@
|
|
|
88
88
|
"__tests__/__helpers__/"
|
|
89
89
|
]
|
|
90
90
|
},
|
|
91
|
-
"gitHead": "
|
|
91
|
+
"gitHead": "a41004c1d0d56328f257e33f88305635aafacc7c"
|
|
92
92
|
}
|