@segment/action-destinations 3.221.0-staging.0 → 3.221.1-080fa7b.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/ambee/subscribeUserToCampaign/index.js +4 -2
- package/dist/destinations/ambee/subscribeUserToCampaign/index.js.map +1 -1
- package/dist/destinations/braze-cohorts/syncAudiences/index.js +6 -3
- package/dist/destinations/braze-cohorts/syncAudiences/index.js.map +1 -1
- package/dist/destinations/cordial/identities-fields.d.ts +1 -1
- package/dist/destinations/cordial/identities-fields.js +5 -3
- package/dist/destinations/cordial/identities-fields.js.map +1 -1
- package/dist/destinations/dynamic-yield-audiences/syncAudience/index.js +10 -5
- package/dist/destinations/dynamic-yield-audiences/syncAudience/index.js.map +1 -1
- package/dist/destinations/engage/twilio/utils/PhoneMessageSender.js +0 -1
- package/dist/destinations/engage/twilio/utils/PhoneMessageSender.js.map +1 -1
- package/dist/destinations/google-sheets/postSheet/index.js +2 -1
- package/dist/destinations/google-sheets/postSheet/index.js.map +1 -1
- package/dist/destinations/hubspot/upsertContact/index.d.ts +1 -1
- package/dist/destinations/hubspot/upsertContact/index.js +28 -8
- package/dist/destinations/hubspot/upsertContact/index.js.map +1 -1
- package/dist/destinations/index.js +2 -2
- package/dist/destinations/index.js.map +1 -1
- package/dist/destinations/klaviyo/index.js +5 -9
- package/dist/destinations/klaviyo/index.js.map +1 -1
- package/dist/destinations/klaviyo/upsertProfile/generated-types.d.ts +1 -21
- package/dist/destinations/klaviyo/upsertProfile/index.js +5 -150
- package/dist/destinations/klaviyo/upsertProfile/index.js.map +1 -1
- package/dist/destinations/launchdarkly-audiences/syncAudience/index.js +12 -6
- package/dist/destinations/launchdarkly-audiences/syncAudience/index.js.map +1 -1
- package/dist/destinations/linkedin-audiences/updateAudience/index.js +8 -4
- package/dist/destinations/linkedin-audiences/updateAudience/index.js.map +1 -1
- package/dist/destinations/livelike-cloud/trackEvent/index.js +2 -1
- package/dist/destinations/livelike-cloud/trackEvent/index.js.map +1 -1
- package/dist/destinations/liveramp-audiences/audienceEnteredSFTP.types.d.ts +16 -0
- package/dist/destinations/liveramp-audiences/audienceEnteredSFTP.types.js +3 -0
- package/dist/destinations/liveramp-audiences/audienceEnteredSFTP.types.js.map +1 -0
- package/dist/destinations/loops/createOrUpdateContact/generated-types.d.ts +1 -1
- package/dist/destinations/loops/createOrUpdateContact/index.js +2 -2
- package/dist/destinations/loops/createOrUpdateContact/index.js.map +1 -1
- package/dist/destinations/optimizely-advanced-audience-targeting/syncAudience/index.js +8 -4
- package/dist/destinations/optimizely-advanced-audience-targeting/syncAudience/index.js.map +1 -1
- package/dist/destinations/optimizely-feature-experimentation-actions/trackEvent/index.js +2 -1
- package/dist/destinations/optimizely-feature-experimentation-actions/trackEvent/index.js.map +1 -1
- package/dist/destinations/outfunnel/forwardGroupEvent/index.js +10 -5
- package/dist/destinations/outfunnel/forwardGroupEvent/index.js.map +1 -1
- package/dist/destinations/outfunnel/forwardIdentifyEvent/index.js +8 -4
- package/dist/destinations/outfunnel/forwardIdentifyEvent/index.js.map +1 -1
- package/dist/destinations/outfunnel/forwardTrackEvent/index.js +8 -4
- package/dist/destinations/outfunnel/forwardTrackEvent/index.js.map +1 -1
- package/dist/destinations/segment-profiles/segment-properties.d.ts +1 -0
- package/dist/destinations/segment-profiles/segment-properties.js +9 -1
- package/dist/destinations/segment-profiles/segment-properties.js.map +1 -1
- package/dist/destinations/segment-profiles/sendGroup/generated-types.d.ts +1 -0
- package/dist/destinations/segment-profiles/sendGroup/index.js +3 -1
- package/dist/destinations/segment-profiles/sendGroup/index.js.map +1 -1
- package/dist/destinations/segment-profiles/sendIdentify/generated-types.d.ts +1 -0
- package/dist/destinations/segment-profiles/sendIdentify/index.js +3 -1
- package/dist/destinations/segment-profiles/sendIdentify/index.js.map +1 -1
- package/dist/destinations/segment-profiles/sendSubscription/generated-types.d.ts +1 -0
- package/dist/destinations/segment-profiles/sendSubscription/index.js +4 -1
- package/dist/destinations/segment-profiles/sendSubscription/index.js.map +1 -1
- package/dist/destinations/the-trade-desk-crm/functions.js +7 -1
- package/dist/destinations/the-trade-desk-crm/functions.js.map +1 -1
- package/dist/destinations/the-trade-desk-crm/index.js +1 -1
- package/dist/destinations/tiktok-audiences/properties.js +8 -4
- package/dist/destinations/tiktok-audiences/properties.js.map +1 -1
- package/dist/destinations/trackey/generated-types.d.ts +3 -0
- package/dist/destinations/trackey/generated-types.js.map +1 -0
- package/dist/destinations/trackey/group.types.d.ts +11 -0
- package/dist/destinations/{klaviyo/trackEvent/generated-types.js → trackey/group.types.js} +1 -1
- package/dist/destinations/trackey/group.types.js.map +1 -0
- package/dist/destinations/trackey/identify.types.d.ts +11 -0
- package/dist/destinations/{klaviyo/orderCompleted/generated-types.js → trackey/identify.types.js} +1 -1
- package/dist/destinations/trackey/identify.types.js.map +1 -0
- package/dist/destinations/trackey/index.d.ts +4 -0
- package/dist/destinations/trackey/index.js +206 -0
- package/dist/destinations/trackey/index.js.map +1 -0
- package/dist/destinations/trackey/track.types.d.ts +12 -0
- package/dist/destinations/{klaviyo/removeProfileToList/generated-types.js → trackey/track.types.js} +1 -1
- package/dist/destinations/trackey/track.types.js.map +1 -0
- package/dist/destinations/twilio-studio/triggerStudioFlow/index.js +6 -3
- package/dist/destinations/twilio-studio/triggerStudioFlow/index.js.map +1 -1
- package/dist/destinations/yahoo-audiences/generated-types.d.ts +2 -4
- package/dist/destinations/yahoo-audiences/index.js +47 -42
- package/dist/destinations/yahoo-audiences/index.js.map +1 -1
- package/dist/destinations/yahoo-audiences/types.d.ts +6 -0
- package/dist/destinations/yahoo-audiences/updateSegment/generated-types.d.ts +4 -5
- package/dist/destinations/yahoo-audiences/updateSegment/index.d.ts +2 -2
- package/dist/destinations/yahoo-audiences/updateSegment/index.js +66 -65
- package/dist/destinations/yahoo-audiences/updateSegment/index.js.map +1 -1
- package/dist/destinations/yahoo-audiences/utils-rt.d.ts +3 -3
- package/dist/destinations/yahoo-audiences/utils-rt.js +28 -20
- package/dist/destinations/yahoo-audiences/utils-rt.js.map +1 -1
- package/dist/destinations/yahoo-audiences/utils-tax.d.ts +3 -5
- package/dist/destinations/yahoo-audiences/utils-tax.js +28 -17
- package/dist/destinations/yahoo-audiences/utils-tax.js.map +1 -1
- package/package.json +5 -5
- package/dist/destinations/klaviyo/addProfileToList/generated-types.d.ts +0 -4
- package/dist/destinations/klaviyo/addProfileToList/generated-types.js.map +0 -1
- package/dist/destinations/klaviyo/addProfileToList/index.d.ts +0 -5
- package/dist/destinations/klaviyo/addProfileToList/index.js +0 -53
- package/dist/destinations/klaviyo/addProfileToList/index.js.map +0 -1
- package/dist/destinations/klaviyo/config.d.ts +0 -1
- package/dist/destinations/klaviyo/config.js +0 -5
- package/dist/destinations/klaviyo/config.js.map +0 -1
- package/dist/destinations/klaviyo/functions.d.ts +0 -2
- package/dist/destinations/klaviyo/functions.js +0 -35
- package/dist/destinations/klaviyo/functions.js.map +0 -1
- package/dist/destinations/klaviyo/orderCompleted/generated-types.d.ts +0 -22
- package/dist/destinations/klaviyo/orderCompleted/generated-types.js.map +0 -1
- package/dist/destinations/klaviyo/orderCompleted/index.d.ts +0 -5
- package/dist/destinations/klaviyo/orderCompleted/index.js +0 -152
- package/dist/destinations/klaviyo/orderCompleted/index.js.map +0 -1
- package/dist/destinations/klaviyo/removeProfileToList/generated-types.d.ts +0 -4
- package/dist/destinations/klaviyo/removeProfileToList/generated-types.js.map +0 -1
- package/dist/destinations/klaviyo/removeProfileToList/index.d.ts +0 -5
- package/dist/destinations/klaviyo/removeProfileToList/index.js +0 -53
- package/dist/destinations/klaviyo/removeProfileToList/index.js.map +0 -1
- package/dist/destinations/klaviyo/trackEvent/generated-types.d.ts +0 -16
- package/dist/destinations/klaviyo/trackEvent/generated-types.js.map +0 -1
- package/dist/destinations/klaviyo/trackEvent/index.d.ts +0 -5
- package/dist/destinations/klaviyo/trackEvent/index.js +0 -118
- package/dist/destinations/klaviyo/trackEvent/index.js.map +0 -1
- package/dist/destinations/klaviyo/types.d.ts +0 -69
- package/dist/destinations/klaviyo/types.js +0 -8
- package/dist/destinations/klaviyo/types.js.map +0 -1
- package/dist/destinations/yahoo-audiences/createCustomerNode/generated-types.d.ts +0 -4
- package/dist/destinations/yahoo-audiences/createCustomerNode/generated-types.js +0 -3
- package/dist/destinations/yahoo-audiences/createCustomerNode/generated-types.js.map +0 -1
- package/dist/destinations/yahoo-audiences/createCustomerNode/index.d.ts +0 -5
- package/dist/destinations/yahoo-audiences/createCustomerNode/index.js +0 -33
- package/dist/destinations/yahoo-audiences/createCustomerNode/index.js.map +0 -1
- package/dist/destinations/yahoo-audiences/createSegment/generated-types.d.ts +0 -6
- package/dist/destinations/yahoo-audiences/createSegment/generated-types.js +0 -3
- package/dist/destinations/yahoo-audiences/createSegment/generated-types.js.map +0 -1
- package/dist/destinations/yahoo-audiences/createSegment/index.d.ts +0 -5
- package/dist/destinations/yahoo-audiences/createSegment/index.js +0 -45
- package/dist/destinations/yahoo-audiences/createSegment/index.js.map +0 -1
- package/dist/destinations/yahoo-audiences/utils.d.ts +0 -4
- package/dist/destinations/yahoo-audiences/utils.js +0 -30
- package/dist/destinations/yahoo-audiences/utils.js.map +0 -1
- /package/dist/destinations/{klaviyo/addProfileToList → trackey}/generated-types.js +0 -0
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
export interface Settings {
|
|
2
2
|
mdm_id: string;
|
|
3
|
-
taxonomy_client_key: string;
|
|
4
|
-
taxonomy_client_secret: string;
|
|
5
3
|
engage_space_id: string;
|
|
6
4
|
customer_desc?: string;
|
|
7
5
|
}
|
|
8
6
|
export interface AudienceSettings {
|
|
9
|
-
audience_id
|
|
7
|
+
audience_id: string;
|
|
10
8
|
audience_key: string;
|
|
11
|
-
|
|
9
|
+
identifier: string;
|
|
12
10
|
}
|
|
@@ -6,13 +6,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
const actions_core_1 = require("@segment/actions-core");
|
|
7
7
|
const utils_rt_1 = require("./utils-rt");
|
|
8
8
|
const updateSegment_1 = __importDefault(require("./updateSegment"));
|
|
9
|
-
const createSegment_1 = __importDefault(require("./createSegment"));
|
|
10
|
-
const createCustomerNode_1 = __importDefault(require("./createCustomerNode"));
|
|
11
9
|
const utils_tax_1 = require("./utils-tax");
|
|
12
10
|
const destination = {
|
|
13
11
|
name: 'Yahoo Audiences',
|
|
14
12
|
slug: 'actions-yahoo-audiences',
|
|
15
13
|
mode: 'cloud',
|
|
14
|
+
description: 'Sync Segment Engage Audiences to Yahoo Ads',
|
|
16
15
|
authentication: {
|
|
17
16
|
scheme: 'oauth2',
|
|
18
17
|
fields: {
|
|
@@ -22,41 +21,31 @@ const destination = {
|
|
|
22
21
|
type: 'string',
|
|
23
22
|
required: true
|
|
24
23
|
},
|
|
25
|
-
taxonomy_client_key: {
|
|
26
|
-
label: 'Yahoo Taxonomy API client Id',
|
|
27
|
-
description: 'Taxonomy API client Id. Required to update Yahoo taxonomy',
|
|
28
|
-
type: 'string',
|
|
29
|
-
required: true
|
|
30
|
-
},
|
|
31
|
-
taxonomy_client_secret: {
|
|
32
|
-
label: 'Yahoo Taxonomy API client secret',
|
|
33
|
-
description: 'Taxonomy API client secret. Required to update Yahoo taxonomy',
|
|
34
|
-
type: 'string',
|
|
35
|
-
required: true
|
|
36
|
-
},
|
|
37
24
|
engage_space_id: {
|
|
38
25
|
label: 'Engage Space Id',
|
|
39
|
-
description: '
|
|
26
|
+
description: 'Engage Space Id found in Unify > Settings > API Access',
|
|
40
27
|
type: 'string',
|
|
41
28
|
required: true
|
|
42
29
|
},
|
|
43
30
|
customer_desc: {
|
|
44
31
|
label: 'Customer Description',
|
|
45
|
-
description: '
|
|
32
|
+
description: 'Engage space name and description',
|
|
46
33
|
type: 'string',
|
|
47
34
|
required: false
|
|
48
35
|
}
|
|
49
36
|
},
|
|
50
|
-
testAuthentication: async (request,
|
|
37
|
+
testAuthentication: async (request, { settings }) => {
|
|
38
|
+
if (!process.env.ACTIONS_YAHOO_AUDIENCES_TAXONOMY_CLIENT_SECRET) {
|
|
39
|
+
throw new actions_core_1.IntegrationError('Missing Taxonomy API client secret', 'MISSING_REQUIRED_FIELD', 400);
|
|
40
|
+
}
|
|
41
|
+
if (!process.env.ACTIONS_YAHOO_AUDIENCES_TAXONOMY_CLIENT_ID) {
|
|
42
|
+
throw new actions_core_1.IntegrationError('Missing Taxonomy API client Id', 'MISSING_REQUIRED_FIELD', 400);
|
|
43
|
+
}
|
|
51
44
|
const tx_creds = {
|
|
52
|
-
tx_client_key:
|
|
53
|
-
tx_client_secret:
|
|
54
|
-
};
|
|
55
|
-
const data = {
|
|
56
|
-
engage_space_id: input.settings.engage_space_id,
|
|
57
|
-
customer_desc: input.settings.customer_desc
|
|
45
|
+
tx_client_key: process.env.ACTIONS_YAHOO_AUDIENCES_TAXONOMY_CLIENT_ID,
|
|
46
|
+
tx_client_secret: process.env.ACTIONS_YAHOO_AUDIENCES_TAXONOMY_CLIENT_SECRET
|
|
58
47
|
};
|
|
59
|
-
const body_form_data = utils_tax_1.gen_customer_taxonomy_payload(
|
|
48
|
+
const body_form_data = utils_tax_1.gen_customer_taxonomy_payload(settings);
|
|
60
49
|
await utils_tax_1.update_taxonomy('', tx_creds, request, body_form_data);
|
|
61
50
|
},
|
|
62
51
|
refreshAccessToken: async (request, { auth }) => {
|
|
@@ -80,20 +69,27 @@ const destination = {
|
|
|
80
69
|
audienceFields: {
|
|
81
70
|
audience_id: {
|
|
82
71
|
type: 'string',
|
|
83
|
-
label: '
|
|
84
|
-
description: '
|
|
72
|
+
label: 'Audience Id',
|
|
73
|
+
description: 'Segment Audience Id (aud_...)',
|
|
74
|
+
required: true
|
|
85
75
|
},
|
|
86
76
|
audience_key: {
|
|
87
|
-
label: '
|
|
88
|
-
description: '
|
|
77
|
+
label: 'Audience key',
|
|
78
|
+
description: 'Segment Audience Key',
|
|
89
79
|
type: 'string',
|
|
90
80
|
required: true
|
|
91
81
|
},
|
|
92
|
-
|
|
93
|
-
label: '
|
|
94
|
-
description: '
|
|
82
|
+
identifier: {
|
|
83
|
+
label: 'User Identifier',
|
|
84
|
+
description: 'Specify the identifier(s) to send to Yahoo',
|
|
95
85
|
type: 'string',
|
|
96
|
-
required: true
|
|
86
|
+
required: true,
|
|
87
|
+
default: 'email',
|
|
88
|
+
choices: [
|
|
89
|
+
{ value: 'email', label: 'Send email' },
|
|
90
|
+
{ value: 'maid', label: 'Send MAID' },
|
|
91
|
+
{ value: 'email_maid', label: 'Send email and/or MAID' }
|
|
92
|
+
]
|
|
97
93
|
}
|
|
98
94
|
},
|
|
99
95
|
audienceConfig: {
|
|
@@ -104,25 +100,36 @@ const destination = {
|
|
|
104
100
|
async createAudience(request, createAudienceInput) {
|
|
105
101
|
const audience_id = createAudienceInput.audienceSettings?.audience_id;
|
|
106
102
|
const audience_key = createAudienceInput.audienceSettings?.audience_key;
|
|
107
|
-
const engage_space_id = createAudienceInput.
|
|
103
|
+
const engage_space_id = createAudienceInput.settings?.engage_space_id;
|
|
104
|
+
const identifier = createAudienceInput.audienceSettings?.identifier;
|
|
108
105
|
if (!audience_id) {
|
|
109
|
-
throw new actions_core_1.IntegrationError('
|
|
106
|
+
throw new actions_core_1.IntegrationError('Create Audience: missing audience Id value', 'MISSING_REQUIRED_FIELD', 400);
|
|
110
107
|
}
|
|
111
108
|
if (!audience_key) {
|
|
112
|
-
throw new actions_core_1.IntegrationError('
|
|
109
|
+
throw new actions_core_1.IntegrationError('Create Audience: missing audience key value', 'MISSING_REQUIRED_FIELD', 400);
|
|
113
110
|
}
|
|
114
111
|
if (!engage_space_id) {
|
|
115
|
-
throw new actions_core_1.IntegrationError('
|
|
112
|
+
throw new actions_core_1.IntegrationError('Create Audience: missing Engage space Id type value', 'MISSING_REQUIRED_FIELD', 400);
|
|
113
|
+
}
|
|
114
|
+
if (!process.env.ACTIONS_YAHOO_AUDIENCES_TAXONOMY_CLIENT_SECRET) {
|
|
115
|
+
throw new actions_core_1.IntegrationError('Missing Taxonomy API client secret', 'MISSING_REQUIRED_FIELD', 400);
|
|
116
|
+
}
|
|
117
|
+
if (!process.env.ACTIONS_YAHOO_AUDIENCES_TAXONOMY_CLIENT_ID) {
|
|
118
|
+
throw new actions_core_1.IntegrationError('Missing Taxonomy API client Id', 'MISSING_REQUIRED_FIELD', 400);
|
|
119
|
+
}
|
|
120
|
+
if (!identifier) {
|
|
121
|
+
throw new actions_core_1.IntegrationError('Create Audience: missing Identifier type value', 'MISSING_REQUIRED_FIELD', 400);
|
|
116
122
|
}
|
|
117
123
|
const input = {
|
|
118
124
|
segment_audience_id: audience_id,
|
|
119
125
|
segment_audience_key: audience_key,
|
|
120
|
-
engage_space_id: engage_space_id
|
|
126
|
+
engage_space_id: engage_space_id,
|
|
127
|
+
identifier: identifier
|
|
121
128
|
};
|
|
122
129
|
const body_form_data = utils_tax_1.gen_segment_subtaxonomy_payload(input);
|
|
123
130
|
const tx_creds = {
|
|
124
|
-
tx_client_key:
|
|
125
|
-
tx_client_secret:
|
|
131
|
+
tx_client_key: process.env.ACTIONS_YAHOO_AUDIENCES_TAXONOMY_CLIENT_ID,
|
|
132
|
+
tx_client_secret: process.env.ACTIONS_YAHOO_AUDIENCES_TAXONOMY_CLIENT_SECRET
|
|
126
133
|
};
|
|
127
134
|
await utils_tax_1.update_taxonomy(engage_space_id, tx_creds, request, body_form_data);
|
|
128
135
|
return { externalId: audience_id };
|
|
@@ -136,9 +143,7 @@ const destination = {
|
|
|
136
143
|
}
|
|
137
144
|
},
|
|
138
145
|
actions: {
|
|
139
|
-
updateSegment: updateSegment_1.default
|
|
140
|
-
createSegment: createSegment_1.default,
|
|
141
|
-
createCustomerNode: createCustomerNode_1.default
|
|
146
|
+
updateSegment: updateSegment_1.default
|
|
142
147
|
}
|
|
143
148
|
};
|
|
144
149
|
exports.default = destination;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/destinations/yahoo-audiences/index.ts"],"names":[],"mappings":";;;;;AACA,wDAAwD;AAExD,yCAAyC;AACzC,oEAA2C;AAC3C,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/destinations/yahoo-audiences/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,13 +5,12 @@ export interface Payload {
|
|
|
5
5
|
[k: string]: unknown;
|
|
6
6
|
};
|
|
7
7
|
segment_computation_action: string;
|
|
8
|
-
enable_batching?: boolean
|
|
8
|
+
enable_batching?: boolean;
|
|
9
9
|
batch_size?: number;
|
|
10
10
|
email?: string;
|
|
11
|
-
advertising_id
|
|
12
|
-
device_type
|
|
13
|
-
|
|
14
|
-
send_email: boolean;
|
|
11
|
+
advertising_id?: string;
|
|
12
|
+
device_type?: string;
|
|
13
|
+
identifier: string;
|
|
15
14
|
gdpr_flag: boolean;
|
|
16
15
|
gdpr_euconsent?: string;
|
|
17
16
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ActionDefinition } from '@segment/actions-core';
|
|
2
|
-
import type { Settings } from '../generated-types';
|
|
2
|
+
import type { Settings, AudienceSettings } from '../generated-types';
|
|
3
3
|
import type { Payload } from './generated-types';
|
|
4
|
-
declare const action: ActionDefinition<Settings, Payload>;
|
|
4
|
+
declare const action: ActionDefinition<Settings, Payload, AudienceSettings>;
|
|
5
5
|
export default action;
|
|
@@ -5,12 +5,13 @@ const utils_rt_1 = require("../utils-rt");
|
|
|
5
5
|
const action = {
|
|
6
6
|
title: 'Sync To Yahoo Ads Segment',
|
|
7
7
|
description: 'Sync Segment Audience to Yahoo Ads Segment',
|
|
8
|
-
defaultSubscription: 'type = "identify"
|
|
8
|
+
defaultSubscription: 'type = "identify"',
|
|
9
9
|
fields: {
|
|
10
10
|
segment_audience_id: {
|
|
11
11
|
label: 'Segment Audience Id',
|
|
12
12
|
description: 'Segment Audience Id (aud_...). Maps to "Id" of a Segment node in Yahoo taxonomy',
|
|
13
|
-
type: '
|
|
13
|
+
type: 'string',
|
|
14
|
+
unsafe_hidden: true,
|
|
14
15
|
required: true,
|
|
15
16
|
default: {
|
|
16
17
|
'@path': '$.context.personas.computation_id'
|
|
@@ -19,7 +20,8 @@ const action = {
|
|
|
19
20
|
segment_audience_key: {
|
|
20
21
|
label: 'Segment Audience Key',
|
|
21
22
|
description: 'Segment Audience Key. Maps to the "Name" of the Segment node in Yahoo taxonomy',
|
|
22
|
-
type: '
|
|
23
|
+
type: 'string',
|
|
24
|
+
unsafe_hidden: true,
|
|
23
25
|
required: true,
|
|
24
26
|
default: {
|
|
25
27
|
'@path': '$.context.personas.computation_key'
|
|
@@ -42,7 +44,8 @@ const action = {
|
|
|
42
44
|
segment_computation_action: {
|
|
43
45
|
label: 'Segment Computation Action',
|
|
44
46
|
description: "Segment computation class used to determine if input event is from an Engage Audience'. Value must be = 'audience'.",
|
|
45
|
-
type: '
|
|
47
|
+
type: 'string',
|
|
48
|
+
unsafe_hidden: true,
|
|
46
49
|
required: true,
|
|
47
50
|
default: {
|
|
48
51
|
'@path': '$.context.personas.computation_class'
|
|
@@ -52,60 +55,62 @@ const action = {
|
|
|
52
55
|
enable_batching: {
|
|
53
56
|
label: 'Enable Batching',
|
|
54
57
|
description: 'Enable batching of requests',
|
|
55
|
-
type: '
|
|
56
|
-
default: true
|
|
58
|
+
type: 'boolean',
|
|
59
|
+
default: true,
|
|
60
|
+
unsafe_hidden: true
|
|
57
61
|
},
|
|
58
62
|
batch_size: {
|
|
59
63
|
label: 'Batch Size',
|
|
60
64
|
description: 'Maximum number of events to include in each batch. Actual batch sizes may be lower.',
|
|
61
65
|
type: 'number',
|
|
62
66
|
unsafe_hidden: true,
|
|
63
|
-
required: false,
|
|
64
67
|
default: 1000
|
|
65
68
|
},
|
|
66
69
|
email: {
|
|
67
70
|
label: 'User Email',
|
|
68
71
|
description: 'Email address of a user',
|
|
69
|
-
type: '
|
|
72
|
+
type: 'string',
|
|
73
|
+
unsafe_hidden: true,
|
|
74
|
+
required: false,
|
|
70
75
|
default: {
|
|
71
76
|
'@if': {
|
|
72
|
-
exists: { '@path': '$.
|
|
73
|
-
then: { '@path': '$.
|
|
74
|
-
else: { '@path': '$.
|
|
77
|
+
exists: { '@path': '$.traits.email' },
|
|
78
|
+
then: { '@path': '$.traits.email' },
|
|
79
|
+
else: { '@path': '$.properties.email' }
|
|
75
80
|
}
|
|
76
81
|
}
|
|
77
82
|
},
|
|
78
83
|
advertising_id: {
|
|
79
84
|
label: 'User Mobile Advertising ID',
|
|
80
|
-
description: "User's
|
|
81
|
-
type: '
|
|
85
|
+
description: "User's mobile advertising Id",
|
|
86
|
+
type: 'string',
|
|
87
|
+
unsafe_hidden: true,
|
|
82
88
|
default: {
|
|
83
89
|
'@path': '$.context.device.advertisingId'
|
|
84
90
|
},
|
|
85
|
-
required:
|
|
91
|
+
required: false
|
|
86
92
|
},
|
|
87
93
|
device_type: {
|
|
88
94
|
label: 'User Mobile Device Type',
|
|
89
|
-
description: "
|
|
90
|
-
type: '
|
|
95
|
+
description: "User's mobile device type",
|
|
96
|
+
type: 'string',
|
|
97
|
+
unsafe_hidden: true,
|
|
91
98
|
default: {
|
|
92
99
|
'@path': '$.context.device.type'
|
|
93
100
|
},
|
|
94
|
-
required:
|
|
95
|
-
},
|
|
96
|
-
send_advertising_id: {
|
|
97
|
-
label: 'Send Mobile Advertising ID',
|
|
98
|
-
description: 'Send mobile advertising ID (IDFA or Google Ad Id) to Yahoo. Segment will hash MAIDs',
|
|
99
|
-
type: 'boolean',
|
|
100
|
-
required: true,
|
|
101
|
-
default: true
|
|
101
|
+
required: false
|
|
102
102
|
},
|
|
103
|
-
|
|
104
|
-
label: '
|
|
105
|
-
description: '
|
|
106
|
-
type: '
|
|
103
|
+
identifier: {
|
|
104
|
+
label: 'User Identifier',
|
|
105
|
+
description: 'Specify the identifier(s) to send to Yahoo',
|
|
106
|
+
type: 'string',
|
|
107
107
|
required: true,
|
|
108
|
-
default:
|
|
108
|
+
default: 'email',
|
|
109
|
+
choices: [
|
|
110
|
+
{ value: 'email', label: 'Send email' },
|
|
111
|
+
{ value: 'maid', label: 'Send MAID' },
|
|
112
|
+
{ value: 'email_maid', label: 'Send email and/or MAID' }
|
|
113
|
+
]
|
|
109
114
|
},
|
|
110
115
|
gdpr_flag: {
|
|
111
116
|
label: 'GDPR Flag',
|
|
@@ -121,47 +126,43 @@ const action = {
|
|
|
121
126
|
required: false
|
|
122
127
|
}
|
|
123
128
|
},
|
|
124
|
-
perform: (request, { payload, auth }) => {
|
|
129
|
+
perform: (request, { payload, auth, audienceSettings }) => {
|
|
125
130
|
const rt_access_token = auth?.accessToken;
|
|
126
|
-
if (
|
|
127
|
-
throw new actions_core_1.IntegrationError('
|
|
131
|
+
if (!audienceSettings) {
|
|
132
|
+
throw new actions_core_1.IntegrationError('Bad Request: no audienceSettings found.', 'INVALID_REQUEST_DATA', 400);
|
|
133
|
+
}
|
|
134
|
+
const body = utils_rt_1.gen_update_segment_payload([payload], audienceSettings);
|
|
135
|
+
if (body.data.length > 0) {
|
|
136
|
+
return request('https://dataxonline.yahoo.com/online/audience/', {
|
|
137
|
+
method: 'POST',
|
|
138
|
+
json: body,
|
|
139
|
+
headers: {
|
|
140
|
+
Authorization: `Bearer ${rt_access_token}`
|
|
141
|
+
}
|
|
142
|
+
});
|
|
143
|
+
}
|
|
144
|
+
else {
|
|
145
|
+
throw new actions_core_1.PayloadValidationError('Email and / or Advertising Id not available in the profile(s)');
|
|
128
146
|
}
|
|
129
|
-
const body = utils_rt_1.gen_update_segment_payload([payload]);
|
|
130
|
-
return request('https://dataxonline.yahoo.com/online/audience/', {
|
|
131
|
-
method: 'POST',
|
|
132
|
-
json: body,
|
|
133
|
-
headers: {
|
|
134
|
-
Authorization: `Bearer ${auth?.accessToken}`
|
|
135
|
-
}
|
|
136
|
-
})
|
|
137
|
-
.then((response) => response.json())
|
|
138
|
-
.then((response) => {
|
|
139
|
-
return response;
|
|
140
|
-
})
|
|
141
|
-
.catch((err) => {
|
|
142
|
-
console.log('perform: error updating segment >', err);
|
|
143
|
-
});
|
|
144
147
|
},
|
|
145
|
-
performBatch: (request, { payload, auth }) => {
|
|
148
|
+
performBatch: (request, { payload, audienceSettings, auth }) => {
|
|
146
149
|
const rt_access_token = auth?.accessToken;
|
|
147
|
-
if (!
|
|
148
|
-
throw new actions_core_1.IntegrationError('
|
|
150
|
+
if (!audienceSettings) {
|
|
151
|
+
throw new actions_core_1.IntegrationError('Bad Request: no audienceSettings found.', 'INVALID_REQUEST_DATA', 400);
|
|
152
|
+
}
|
|
153
|
+
const body = utils_rt_1.gen_update_segment_payload(payload, audienceSettings);
|
|
154
|
+
if (body.data.length > 0) {
|
|
155
|
+
return request('https://dataxonline.yahoo.com/online/audience/', {
|
|
156
|
+
method: 'POST',
|
|
157
|
+
json: body,
|
|
158
|
+
headers: {
|
|
159
|
+
Authorization: `Bearer ${rt_access_token}`
|
|
160
|
+
}
|
|
161
|
+
});
|
|
162
|
+
}
|
|
163
|
+
else {
|
|
164
|
+
throw new actions_core_1.PayloadValidationError('Email and / or Advertising Id not available in the profile(s)');
|
|
149
165
|
}
|
|
150
|
-
const body = utils_rt_1.gen_update_segment_payload(payload);
|
|
151
|
-
return request('https://dataxonline.yahoo.com/online/audience/', {
|
|
152
|
-
method: 'POST',
|
|
153
|
-
json: body,
|
|
154
|
-
headers: {
|
|
155
|
-
Authorization: `Bearer ${rt_access_token}`
|
|
156
|
-
}
|
|
157
|
-
})
|
|
158
|
-
.then((response) => response.json())
|
|
159
|
-
.then((response) => {
|
|
160
|
-
return response;
|
|
161
|
-
})
|
|
162
|
-
.catch((err) => {
|
|
163
|
-
console.log('perform: error updating segment >', err);
|
|
164
|
-
});
|
|
165
166
|
}
|
|
166
167
|
};
|
|
167
168
|
exports.default = action;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/yahoo-audiences/updateSegment/index.ts"],"names":[],"mappings":";;AACA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/yahoo-audiences/updateSegment/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { Payload } from './updateSegment/generated-types';
|
|
2
2
|
import { YahooPayload } from './types';
|
|
3
|
+
import { AudienceSettings } from './generated-types';
|
|
3
4
|
export declare function create_hash(input: string | undefined): string | undefined;
|
|
4
5
|
export declare function generate_jwt(client_id: string, client_secret: string): string;
|
|
5
|
-
export declare function get_id_schema(payload: Payload): {
|
|
6
|
+
export declare function get_id_schema(payload: Payload, audienceSettings: AudienceSettings): {
|
|
6
7
|
maid: boolean;
|
|
7
8
|
email: boolean;
|
|
8
9
|
};
|
|
9
|
-
export declare function
|
|
10
|
-
export declare function gen_update_segment_payload(payloads: Payload[]): YahooPayload;
|
|
10
|
+
export declare function gen_update_segment_payload(payloads: Payload[], audienceSettings: AudienceSettings): YahooPayload;
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.gen_update_segment_payload = exports.
|
|
3
|
+
exports.gen_update_segment_payload = exports.get_id_schema = exports.generate_jwt = exports.create_hash = void 0;
|
|
4
4
|
const crypto_1 = require("crypto");
|
|
5
|
-
const actions_core_1 = require("@segment/actions-core");
|
|
6
5
|
const utils_tax_1 = require("./utils-tax");
|
|
7
6
|
function create_hash(input) {
|
|
8
7
|
if (input === undefined)
|
|
@@ -35,32 +34,37 @@ function generate_jwt(client_id, client_secret) {
|
|
|
35
34
|
return jwt;
|
|
36
35
|
}
|
|
37
36
|
exports.generate_jwt = generate_jwt;
|
|
38
|
-
function get_id_schema(payload) {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
37
|
+
function get_id_schema(payload, audienceSettings) {
|
|
38
|
+
const schema = {
|
|
39
|
+
email: false,
|
|
40
|
+
maid: false
|
|
42
41
|
};
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
42
|
+
let id_type;
|
|
43
|
+
audienceSettings.identifier ? (id_type = audienceSettings.identifier) : (id_type = payload.identifier);
|
|
44
|
+
if (id_type == 'email') {
|
|
45
|
+
schema.email = true;
|
|
46
|
+
}
|
|
47
|
+
if (id_type == 'maid') {
|
|
48
|
+
schema.maid = true;
|
|
48
49
|
}
|
|
50
|
+
if (id_type == 'email_maid') {
|
|
51
|
+
schema.maid = true;
|
|
52
|
+
schema.email = true;
|
|
53
|
+
}
|
|
54
|
+
return schema;
|
|
49
55
|
}
|
|
50
|
-
exports.
|
|
51
|
-
function gen_update_segment_payload(payloads) {
|
|
52
|
-
|
|
53
|
-
const schema = get_id_schema(payloads[0]);
|
|
56
|
+
exports.get_id_schema = get_id_schema;
|
|
57
|
+
function gen_update_segment_payload(payloads, audienceSettings) {
|
|
58
|
+
const schema = get_id_schema(payloads[0], audienceSettings);
|
|
54
59
|
const data = [];
|
|
55
|
-
let exp;
|
|
56
60
|
for (const event of payloads) {
|
|
57
61
|
let hashed_email = '';
|
|
58
|
-
if (schema.email === true) {
|
|
62
|
+
if (schema.email === true && event.email) {
|
|
59
63
|
hashed_email = create_hash(event.email);
|
|
60
64
|
}
|
|
61
65
|
let idfa = '';
|
|
62
66
|
let gpsaid = '';
|
|
63
|
-
if (schema.maid === true) {
|
|
67
|
+
if (schema.maid === true && event.advertising_id) {
|
|
64
68
|
switch (event.device_type) {
|
|
65
69
|
case 'ios':
|
|
66
70
|
idfa = event.advertising_id;
|
|
@@ -70,12 +74,16 @@ function gen_update_segment_payload(payloads) {
|
|
|
70
74
|
break;
|
|
71
75
|
}
|
|
72
76
|
}
|
|
77
|
+
if (hashed_email == '' && idfa == '' && gpsaid == '') {
|
|
78
|
+
continue;
|
|
79
|
+
}
|
|
73
80
|
const ts = Math.floor(new Date().getTime() / 1000);
|
|
74
81
|
const seg_key = event.segment_audience_key;
|
|
75
|
-
|
|
82
|
+
let exp;
|
|
83
|
+
if (event.event_attributes[seg_key] === true) {
|
|
76
84
|
exp = ts + 90 * 24 * 60 * 60;
|
|
77
85
|
}
|
|
78
|
-
if (event.event_attributes[seg_key]
|
|
86
|
+
if (event.event_attributes[seg_key] === false) {
|
|
79
87
|
exp = 0;
|
|
80
88
|
}
|
|
81
89
|
const seg_id = event.segment_audience_id;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils-rt.js","sourceRoot":"","sources":["../../../src/destinations/yahoo-audiences/utils-rt.ts"],"names":[],"mappings":";;;AAAA,mCAA+C;
|
|
1
|
+
{"version":3,"file":"utils-rt.js","sourceRoot":"","sources":["../../../src/destinations/yahoo-audiences/utils-rt.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,8 @@
|
|
|
1
|
-
import { Payload as SegmentNodePayload } from './createSegment/generated-types';
|
|
2
|
-
import { Payload as CustomerNodePayload } from './createCustomerNode/generated-types';
|
|
3
1
|
import type { Settings } from './generated-types';
|
|
4
|
-
import { CredsObj } from './types';
|
|
2
|
+
import { CredsObj, YahooSubTaxonomy } from './types';
|
|
5
3
|
import { RequestClient } from '@segment/actions-core';
|
|
6
|
-
export declare function gen_customer_taxonomy_payload(settings: Settings
|
|
7
|
-
export declare function gen_segment_subtaxonomy_payload(payload:
|
|
4
|
+
export declare function gen_customer_taxonomy_payload(settings: Settings): string;
|
|
5
|
+
export declare function gen_segment_subtaxonomy_payload(payload: YahooSubTaxonomy): string;
|
|
8
6
|
export declare function gen_random_id(length: number): string;
|
|
9
7
|
export declare function gen_oauth1_signature(client_key: string, client_secret: string, method: string, url: string): string;
|
|
10
8
|
export declare function update_taxonomy(engage_space_id: string, tx_creds: CredsObj, request: RequestClient, body_form_data: string): Promise<any>;
|