@segment/action-destinations 3.428.0 → 3.430.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/acoustic-s3tc/index.js +1 -1
- package/dist/destinations/acoustic-s3tc/index.js.map +1 -1
- package/dist/destinations/adobe-target/index.js +1 -1
- package/dist/destinations/adobe-target/index.js.map +1 -1
- package/dist/destinations/algolia-insights/conversionEvents/index.d.ts +0 -1
- package/dist/destinations/algolia-insights/conversionEvents/index.js +137 -145
- package/dist/destinations/algolia-insights/conversionEvents/index.js.map +1 -1
- package/dist/destinations/algolia-insights/index.js +1 -1
- package/dist/destinations/algolia-insights/index.js.map +1 -1
- package/dist/destinations/algolia-insights/productAddedEvents/generated-types.d.ts +1 -0
- package/dist/destinations/algolia-insights/productAddedEvents/index.d.ts +2 -0
- package/dist/destinations/algolia-insights/productAddedEvents/index.js +19 -3
- package/dist/destinations/algolia-insights/productAddedEvents/index.js.map +1 -1
- package/dist/destinations/criteo-audiences/index.js +1 -1
- package/dist/destinations/criteo-audiences/index.js.map +1 -1
- package/dist/destinations/first-party-dv360/addToAudMobileDeviceId/_tests_/index.test.d.ts +4 -0
- package/dist/destinations/first-party-dv360/addToAudMobileDeviceId/_tests_/index.test.js +79 -0
- package/dist/destinations/first-party-dv360/addToAudMobileDeviceId/_tests_/index.test.js.map +1 -0
- package/dist/destinations/first-party-dv360/addToAudMobileDeviceId/generated-types.d.ts +3 -3
- package/dist/destinations/first-party-dv360/addToAudMobileDeviceId/index.js +3 -3
- package/dist/destinations/first-party-dv360/addToAudMobileDeviceId/index.js.map +1 -1
- package/dist/destinations/first-party-dv360/functions.d.ts +1 -1
- package/dist/destinations/first-party-dv360/functions.js +6 -9
- package/dist/destinations/first-party-dv360/functions.js.map +1 -1
- package/dist/destinations/first-party-dv360/properties.js.map +1 -1
- package/dist/destinations/first-party-dv360/removeFromAudMobileDeviceId/generated-types.d.ts +3 -3
- package/dist/destinations/first-party-dv360/removeFromAudMobileDeviceId/index.js +3 -3
- package/dist/destinations/first-party-dv360/removeFromAudMobileDeviceId/index.js.map +1 -1
- package/dist/destinations/friendbuy/index.js +1 -1
- package/dist/destinations/friendbuy/index.js.map +1 -1
- package/dist/destinations/index.js +1 -0
- package/dist/destinations/index.js.map +1 -1
- package/dist/destinations/kafka/index.js +1 -1
- package/dist/destinations/kafka/index.js.map +1 -1
- package/dist/destinations/kafka/utils.js +13 -9
- package/dist/destinations/kafka/utils.js.map +1 -1
- package/dist/destinations/koala/index.js +1 -1
- package/dist/destinations/koala/index.js.map +1 -1
- package/dist/destinations/metronome/index.js +1 -1
- package/dist/destinations/metronome/index.js.map +1 -1
- package/dist/destinations/moengage/index.js +1 -1
- package/dist/destinations/moengage/index.js.map +1 -1
- package/dist/destinations/ms-bing-ads-audiences/constants.d.ts +5 -0
- package/dist/destinations/ms-bing-ads-audiences/constants.js +13 -0
- package/dist/destinations/ms-bing-ads-audiences/constants.js.map +1 -0
- package/dist/destinations/ms-bing-ads-audiences/generated-types.d.ts +3 -0
- package/dist/destinations/ms-bing-ads-audiences/index.d.ts +1 -1
- package/dist/destinations/ms-bing-ads-audiences/index.js +86 -3
- package/dist/destinations/ms-bing-ads-audiences/index.js.map +1 -1
- package/dist/destinations/ms-bing-ads-audiences/syncAudiences/fields.d.ts +11 -0
- package/dist/destinations/ms-bing-ads-audiences/syncAudiences/fields.js +123 -0
- package/dist/destinations/ms-bing-ads-audiences/syncAudiences/fields.js.map +1 -0
- package/dist/destinations/ms-bing-ads-audiences/syncAudiences/generated-types.d.ts +11 -0
- package/dist/destinations/ms-bing-ads-audiences/syncAudiences/index.d.ts +1 -1
- package/dist/destinations/ms-bing-ads-audiences/syncAudiences/index.js +58 -7
- package/dist/destinations/ms-bing-ads-audiences/syncAudiences/index.js.map +1 -1
- package/dist/destinations/ms-bing-ads-audiences/types.d.ts +48 -0
- package/dist/destinations/ms-bing-ads-audiences/types.js.map +1 -0
- package/dist/destinations/ms-bing-ads-audiences/utils.d.ts +9 -0
- package/dist/destinations/ms-bing-ads-audiences/utils.js +86 -0
- package/dist/destinations/ms-bing-ads-audiences/utils.js.map +1 -0
- package/dist/destinations/ms-bing-capi/generated-types.d.ts +1 -0
- package/dist/destinations/ms-bing-capi/index.d.ts +1 -1
- package/dist/destinations/ms-bing-capi/index.js +83 -5
- package/dist/destinations/ms-bing-capi/index.js.map +1 -1
- package/dist/destinations/ms-bing-capi/sendEvent/constants.js.map +1 -0
- package/dist/destinations/ms-bing-capi/{fields.d.ts → sendEvent/fields.d.ts} +3 -0
- package/dist/destinations/ms-bing-capi/{fields.js → sendEvent/fields.js} +52 -16
- package/dist/destinations/ms-bing-capi/sendEvent/fields.js.map +1 -0
- package/dist/destinations/ms-bing-capi/sendEvent/generated-types.d.ts +22 -22
- package/dist/destinations/ms-bing-capi/sendEvent/index.d.ts +1 -1
- package/dist/destinations/ms-bing-capi/sendEvent/index.js +68 -30
- package/dist/destinations/ms-bing-capi/sendEvent/index.js.map +1 -1
- package/dist/destinations/ms-bing-capi/sendEvent/types.d.ts +62 -10
- package/dist/destinations/ms-bing-capi/sendEvent/utils.js +1 -1
- package/dist/destinations/ms-bing-capi/sendEvent/utils.js.map +1 -1
- package/dist/destinations/pipedrive/index.js +1 -1
- package/dist/destinations/pipedrive/index.js.map +1 -1
- package/dist/destinations/qualtrics/index.js +1 -1
- package/dist/destinations/qualtrics/index.js.map +1 -1
- package/dist/destinations/reddit-conversions-api/index.js +1 -1
- package/dist/destinations/reddit-conversions-api/index.js.map +1 -1
- package/dist/destinations/salesforce/index.js +2 -2
- package/dist/destinations/salesforce/index.js.map +1 -1
- package/dist/destinations/taboola-actions/index.js +1 -1
- package/dist/destinations/taboola-actions/index.js.map +1 -1
- package/dist/destinations/the-trade-desk-crm/index.js +1 -1
- package/dist/destinations/the-trade-desk-crm/index.js.map +1 -1
- package/dist/destinations/tiktok-conversions/index.js +1 -1
- package/dist/destinations/tiktok-conversions/index.js.map +1 -1
- package/dist/destinations/tiktok-conversions/reportWebEvent/constants.d.ts +4 -0
- package/dist/destinations/tiktok-conversions/reportWebEvent/constants.js +8 -0
- package/dist/destinations/tiktok-conversions/reportWebEvent/constants.js.map +1 -0
- package/dist/destinations/tiktok-conversions/reportWebEvent/fields/common_fields.d.ts +2 -0
- package/dist/destinations/tiktok-conversions/{common_fields.js → reportWebEvent/fields/common_fields.js} +89 -21
- package/dist/destinations/tiktok-conversions/reportWebEvent/fields/common_fields.js.map +1 -0
- package/dist/destinations/tiktok-conversions/reportWebEvent/fields/crm_fields.d.ts +2 -0
- package/dist/destinations/tiktok-conversions/reportWebEvent/fields/crm_fields.js +48 -0
- package/dist/destinations/tiktok-conversions/reportWebEvent/fields/crm_fields.js.map +1 -0
- package/dist/destinations/tiktok-conversions/reportWebEvent/fields/travel_fields.d.ts +2 -0
- package/dist/destinations/tiktok-conversions/reportWebEvent/fields/travel_fields.js +216 -0
- package/dist/destinations/tiktok-conversions/reportWebEvent/fields/travel_fields.js.map +1 -0
- package/dist/destinations/tiktok-conversions/reportWebEvent/fields/vehicle_fields.d.ts +2 -0
- package/dist/destinations/tiktok-conversions/reportWebEvent/fields/vehicle_fields.js +261 -0
- package/dist/destinations/tiktok-conversions/reportWebEvent/fields/vehicle_fields.js.map +1 -0
- package/dist/destinations/tiktok-conversions/{formatter.js → reportWebEvent/formatter.js} +1 -1
- package/dist/destinations/tiktok-conversions/reportWebEvent/formatter.js.map +1 -0
- package/dist/destinations/tiktok-conversions/reportWebEvent/generated-types.d.ts +58 -1
- package/dist/destinations/tiktok-conversions/reportWebEvent/index.js +10 -4
- package/dist/destinations/tiktok-conversions/reportWebEvent/index.js.map +1 -1
- package/dist/destinations/tiktok-conversions/reportWebEvent/types.d.ts +111 -0
- package/dist/destinations/tiktok-conversions/reportWebEvent/types.js +3 -0
- package/dist/destinations/tiktok-conversions/reportWebEvent/types.js.map +1 -0
- package/dist/destinations/tiktok-conversions/reportWebEvent/utils.d.ts +4 -0
- package/dist/destinations/tiktok-conversions/reportWebEvent/utils.js +170 -0
- package/dist/destinations/tiktok-conversions/reportWebEvent/utils.js.map +1 -0
- package/dist/destinations/tiktok-offline-conversions/index.js +1 -1
- package/dist/destinations/tiktok-offline-conversions/index.js.map +1 -1
- package/dist/destinations/vibe-audience/constants.d.ts +2 -0
- package/dist/destinations/vibe-audience/constants.js +6 -0
- package/dist/destinations/vibe-audience/constants.js.map +1 -0
- package/dist/destinations/vibe-audience/functions.d.ts +4 -0
- package/dist/destinations/vibe-audience/functions.js +31 -0
- package/dist/destinations/vibe-audience/functions.js.map +1 -0
- package/dist/destinations/vibe-audience/generated-types.d.ts +4 -0
- package/dist/destinations/vibe-audience/generated-types.js.map +1 -0
- package/dist/destinations/vibe-audience/index.d.ts +4 -0
- package/dist/destinations/vibe-audience/index.js +49 -0
- package/dist/destinations/vibe-audience/index.js.map +1 -0
- package/dist/destinations/vibe-audience/sync/generated-types.d.ts +16 -0
- package/dist/destinations/vibe-audience/sync/generated-types.js +3 -0
- package/dist/destinations/vibe-audience/sync/generated-types.js.map +1 -0
- package/dist/destinations/{ms-bing-capi/pageLoad → vibe-audience/sync}/index.d.ts +1 -1
- package/dist/destinations/vibe-audience/sync/index.js +135 -0
- package/dist/destinations/vibe-audience/sync/index.js.map +1 -0
- package/dist/destinations/vibe-audience/types.d.ts +14 -0
- package/dist/destinations/vibe-audience/types.js +3 -0
- package/dist/destinations/vibe-audience/types.js.map +1 -0
- package/dist/destinations/webhook/index.js +1 -1
- package/dist/destinations/webhook/index.js.map +1 -1
- package/dist/destinations/webhook-extensible/index.js +1 -1
- package/dist/destinations/webhook-extensible/index.js.map +1 -1
- package/package.json +2 -2
- package/dist/destinations/ms-bing-capi/constants.js.map +0 -1
- package/dist/destinations/ms-bing-capi/fields.js.map +0 -1
- package/dist/destinations/ms-bing-capi/pageLoad/generated-types.d.ts +0 -56
- package/dist/destinations/ms-bing-capi/pageLoad/generated-types.js.map +0 -1
- package/dist/destinations/ms-bing-capi/pageLoad/index.js +0 -44
- package/dist/destinations/ms-bing-capi/pageLoad/index.js.map +0 -1
- package/dist/destinations/tiktok-conversions/common_fields.d.ts +0 -2
- package/dist/destinations/tiktok-conversions/common_fields.js.map +0 -1
- package/dist/destinations/tiktok-conversions/formatter.js.map +0 -1
- package/dist/destinations/tiktok-conversions/types.d.ts +0 -55
- package/dist/destinations/tiktok-conversions/types.js.map +0 -1
- package/dist/destinations/tiktok-conversions/utils.d.ts +0 -4
- package/dist/destinations/tiktok-conversions/utils.js +0 -128
- package/dist/destinations/tiktok-conversions/utils.js.map +0 -1
- /package/dist/destinations/{tiktok-conversions → ms-bing-ads-audiences}/types.js +0 -0
- /package/dist/destinations/ms-bing-capi/{constants.d.ts → sendEvent/constants.d.ts} +0 -0
- /package/dist/destinations/ms-bing-capi/{constants.js → sendEvent/constants.js} +0 -0
- /package/dist/destinations/tiktok-conversions/{formatter.d.ts → reportWebEvent/formatter.d.ts} +0 -0
- /package/dist/destinations/{ms-bing-capi/pageLoad → vibe-audience}/generated-types.js +0 -0
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.batch_keys = exports.batch_size = exports.enable_batching = exports.audience_key = exports.traits_or_props = exports.crm_id = exports.email = exports.identifier_type = exports.computation_class = exports.audience_id = void 0;
|
|
4
|
+
const constants_1 = require("../constants");
|
|
5
|
+
exports.audience_id = {
|
|
6
|
+
label: 'Audience ID',
|
|
7
|
+
description: 'The ID of the audience to which you want to add or remove users.',
|
|
8
|
+
type: 'string',
|
|
9
|
+
required: true,
|
|
10
|
+
default: {
|
|
11
|
+
'@path': '$.context.personas.external_audience_id'
|
|
12
|
+
},
|
|
13
|
+
unsafe_hidden: true
|
|
14
|
+
};
|
|
15
|
+
exports.computation_class = {
|
|
16
|
+
label: 'Computation Class',
|
|
17
|
+
description: 'Hidden field: The computation class for the audience.',
|
|
18
|
+
type: 'string',
|
|
19
|
+
required: true,
|
|
20
|
+
default: {
|
|
21
|
+
'@path': '$.context.personas.computation_class'
|
|
22
|
+
},
|
|
23
|
+
choices: [
|
|
24
|
+
{ label: 'audience', value: 'audience' },
|
|
25
|
+
{ label: 'journey_step', value: 'journey_step' }
|
|
26
|
+
],
|
|
27
|
+
unsafe_hidden: true
|
|
28
|
+
};
|
|
29
|
+
exports.identifier_type = {
|
|
30
|
+
label: 'Identifier Type',
|
|
31
|
+
description: 'The type of identifier you are using to sync users.',
|
|
32
|
+
type: 'string',
|
|
33
|
+
required: true,
|
|
34
|
+
default: 'Email',
|
|
35
|
+
choices: [
|
|
36
|
+
{ label: 'Email', value: 'Email' },
|
|
37
|
+
{ label: 'CRM ID', value: 'CRM' }
|
|
38
|
+
]
|
|
39
|
+
};
|
|
40
|
+
exports.email = {
|
|
41
|
+
label: 'Email',
|
|
42
|
+
description: 'The email address of the user to add or remove from the audience.',
|
|
43
|
+
type: 'string',
|
|
44
|
+
required: {
|
|
45
|
+
...constants_1.EMAIL_CONDITION
|
|
46
|
+
},
|
|
47
|
+
depends_on: {
|
|
48
|
+
...constants_1.EMAIL_CONDITION
|
|
49
|
+
},
|
|
50
|
+
default: {
|
|
51
|
+
'@if': {
|
|
52
|
+
exists: { '@path': '$.traits.email' },
|
|
53
|
+
then: { '@path': '$.traits.email' },
|
|
54
|
+
else: { '@path': '$.properties.email' }
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
category: 'hashedPII',
|
|
58
|
+
format: 'email'
|
|
59
|
+
};
|
|
60
|
+
exports.crm_id = {
|
|
61
|
+
label: 'CRM ID',
|
|
62
|
+
description: 'The CRM ID of the user to add or remove from the audience.',
|
|
63
|
+
type: 'string',
|
|
64
|
+
required: {
|
|
65
|
+
...constants_1.CRM_CONDITION
|
|
66
|
+
},
|
|
67
|
+
depends_on: {
|
|
68
|
+
...constants_1.CRM_CONDITION
|
|
69
|
+
},
|
|
70
|
+
default: {
|
|
71
|
+
'@path': '$.userId'
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
exports.traits_or_props = {
|
|
75
|
+
label: 'Traits or Properties',
|
|
76
|
+
description: 'Hidden field: traits object from identify() payloads or properties object from track() payloads.',
|
|
77
|
+
type: 'object',
|
|
78
|
+
required: true,
|
|
79
|
+
unsafe_hidden: true,
|
|
80
|
+
default: {
|
|
81
|
+
'@if': {
|
|
82
|
+
exists: { '@path': '$.traits' },
|
|
83
|
+
then: { '@path': '$.traits' },
|
|
84
|
+
else: { '@path': '$.properties' }
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
};
|
|
88
|
+
exports.audience_key = {
|
|
89
|
+
label: 'Audience Key',
|
|
90
|
+
description: 'Hidden field: The Engage Audience Key / Slug.',
|
|
91
|
+
type: 'string',
|
|
92
|
+
required: true,
|
|
93
|
+
unsafe_hidden: true,
|
|
94
|
+
default: {
|
|
95
|
+
'@path': '$.context.personas.computation_key'
|
|
96
|
+
}
|
|
97
|
+
};
|
|
98
|
+
exports.enable_batching = {
|
|
99
|
+
label: 'Enable Batching',
|
|
100
|
+
description: 'Enable batching of user syncs to optimize performance. When enabled, user syncs will be sent in batches based on the specified batch size.',
|
|
101
|
+
type: 'boolean',
|
|
102
|
+
required: true,
|
|
103
|
+
default: true,
|
|
104
|
+
readOnly: true
|
|
105
|
+
};
|
|
106
|
+
exports.batch_size = {
|
|
107
|
+
label: 'Batch Size',
|
|
108
|
+
description: 'The number of user syncs to include in each batch when batching is enabled. Must be between 1 and 1000.',
|
|
109
|
+
type: 'number',
|
|
110
|
+
required: true,
|
|
111
|
+
default: 1000,
|
|
112
|
+
unsafe_hidden: true
|
|
113
|
+
};
|
|
114
|
+
exports.batch_keys = {
|
|
115
|
+
label: 'Batch Keys',
|
|
116
|
+
description: 'The keys to use for batching user syncs. Users with the same values for these keys will be grouped together in the same batch.',
|
|
117
|
+
type: 'string',
|
|
118
|
+
required: false,
|
|
119
|
+
default: ['identifier_type', 'audience_id'],
|
|
120
|
+
unsafe_hidden: true,
|
|
121
|
+
multiple: true
|
|
122
|
+
};
|
|
123
|
+
//# sourceMappingURL=fields.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fields.js","sourceRoot":"","sources":["../../../../src/destinations/ms-bing-ads-audiences/syncAudiences/fields.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,13 @@
|
|
|
1
1
|
export interface Payload {
|
|
2
|
+
audience_id: string;
|
|
3
|
+
traits_or_props: {
|
|
4
|
+
[k: string]: unknown;
|
|
5
|
+
};
|
|
6
|
+
audience_key: string;
|
|
7
|
+
identifier_type: string;
|
|
8
|
+
email?: string;
|
|
9
|
+
crm_id?: string;
|
|
10
|
+
enable_batching: boolean;
|
|
11
|
+
batch_size: number;
|
|
12
|
+
computation_class: string;
|
|
2
13
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { ActionDefinition } from '@segment/actions-core';
|
|
2
2
|
import type { Settings } from '../generated-types';
|
|
3
3
|
import type { Payload } from './generated-types';
|
|
4
4
|
declare const action: ActionDefinition<Settings, Payload>;
|
|
@@ -1,15 +1,66 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const actions_core_1 = require("@segment/actions-core");
|
|
4
|
+
const actions_core_2 = require("@segment/actions-core");
|
|
5
|
+
const fields_1 = require("./fields");
|
|
6
|
+
const utils_1 = require("../utils");
|
|
3
7
|
const action = {
|
|
4
8
|
title: 'Sync Audiences',
|
|
5
|
-
description: 'Sync users to Bing Ads',
|
|
6
|
-
fields: {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
description: 'Sync users to Microsoft Bing Ads Audiences',
|
|
10
|
+
fields: {
|
|
11
|
+
audience_id: fields_1.audience_id,
|
|
12
|
+
traits_or_props: fields_1.traits_or_props,
|
|
13
|
+
audience_key: fields_1.audience_key,
|
|
14
|
+
identifier_type: fields_1.identifier_type,
|
|
15
|
+
email: fields_1.email,
|
|
16
|
+
crm_id: fields_1.crm_id,
|
|
17
|
+
enable_batching: fields_1.enable_batching,
|
|
18
|
+
batch_size: fields_1.batch_size,
|
|
19
|
+
computation_class: fields_1.computation_class
|
|
20
|
+
},
|
|
21
|
+
perform: async (request, { payload }) => {
|
|
22
|
+
return await syncUser(request, [payload], false);
|
|
23
|
+
},
|
|
24
|
+
performBatch: async (request, { payload }) => {
|
|
25
|
+
return await syncUser(request, payload, true);
|
|
12
26
|
}
|
|
13
27
|
};
|
|
28
|
+
const syncUser = async (request, payload, isBatch) => {
|
|
29
|
+
const msResponse = new actions_core_2.MultiStatusResponse();
|
|
30
|
+
if (!Array.isArray(payload) || payload.length === 0) {
|
|
31
|
+
return msResponse;
|
|
32
|
+
}
|
|
33
|
+
const identifierType = payload[0]?.identifier_type;
|
|
34
|
+
const audienceId = payload[0]?.audience_id;
|
|
35
|
+
const addMap = new Map();
|
|
36
|
+
const removeMap = new Map();
|
|
37
|
+
(0, utils_1.categorizePayloadByAction)(payload, addMap, removeMap);
|
|
38
|
+
const addItems = Array.from(addMap.keys());
|
|
39
|
+
const removeItems = Array.from(removeMap.keys());
|
|
40
|
+
const addPayload = (0, utils_1.preparePayload)(audienceId, 'Add', identifierType, addItems);
|
|
41
|
+
const removePayload = (0, utils_1.preparePayload)(audienceId, 'Remove', identifierType, removeItems);
|
|
42
|
+
try {
|
|
43
|
+
if (addMap.size > 0) {
|
|
44
|
+
const response = await (0, utils_1.sendDataToMicrosoftBingAds)(request, addPayload);
|
|
45
|
+
(0, utils_1.handleMultistatusResponse)(msResponse, response, addItems, addMap, payload, isBatch);
|
|
46
|
+
}
|
|
47
|
+
if (removeMap.size > 0) {
|
|
48
|
+
const response = await (0, utils_1.sendDataToMicrosoftBingAds)(request, removePayload);
|
|
49
|
+
(0, utils_1.handleMultistatusResponse)(msResponse, response, removeItems, removeMap, payload, isBatch);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
catch (error) {
|
|
53
|
+
if (!isBatch) {
|
|
54
|
+
throw error;
|
|
55
|
+
}
|
|
56
|
+
if (error instanceof actions_core_1.HTTPError) {
|
|
57
|
+
await (0, utils_1.handleHttpError)(msResponse, error, new Map([...addMap, ...removeMap]), payload);
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
throw error;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
return msResponse;
|
|
64
|
+
};
|
|
14
65
|
exports.default = action;
|
|
15
66
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/ms-bing-ads-audiences/syncAudiences/index.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/ms-bing-ads-audiences/syncAudiences/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
export interface RefreshTokenResponse {
|
|
2
|
+
access_token: string;
|
|
3
|
+
refresh_token?: string;
|
|
4
|
+
}
|
|
5
|
+
export interface PartialError {
|
|
6
|
+
FieldPath: string | null;
|
|
7
|
+
ErrorCode: string;
|
|
8
|
+
Message: string;
|
|
9
|
+
Code: number;
|
|
10
|
+
Details: string | null;
|
|
11
|
+
Index: number;
|
|
12
|
+
Type: string;
|
|
13
|
+
ForwardCompatibilityMap: null;
|
|
14
|
+
}
|
|
15
|
+
export interface CreateAudienceResponse {
|
|
16
|
+
data: {
|
|
17
|
+
AudienceIds: string[];
|
|
18
|
+
PartialErrors: PartialError[];
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
export interface CreateAudienceRequest {
|
|
22
|
+
Audiences: [
|
|
23
|
+
{
|
|
24
|
+
Name: string;
|
|
25
|
+
Type: 'CustomerList';
|
|
26
|
+
}
|
|
27
|
+
];
|
|
28
|
+
}
|
|
29
|
+
export interface GetAudienceResponse {
|
|
30
|
+
data: {
|
|
31
|
+
Audiences: [
|
|
32
|
+
{
|
|
33
|
+
Id: string;
|
|
34
|
+
}
|
|
35
|
+
];
|
|
36
|
+
PartialErrors: [];
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
export interface SyncAudiencePayload {
|
|
40
|
+
CustomerListUserData: {
|
|
41
|
+
ActionType: Action;
|
|
42
|
+
AudienceId: string;
|
|
43
|
+
CustomerListItemSubType: Identifier;
|
|
44
|
+
CustomerListItems: string[];
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
export type Identifier = 'Email' | 'CRM';
|
|
48
|
+
export type Action = 'Add' | 'Remove';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/destinations/ms-bing-ads-audiences/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Payload } from './syncAudiences/generated-types';
|
|
2
|
+
import { MultiStatusResponse, RequestClient, HTTPError, ModifiedResponse } from '@segment/actions-core';
|
|
3
|
+
import { SyncAudiencePayload, Action, Identifier } from './types';
|
|
4
|
+
export declare const hashEmail: (item: string) => string;
|
|
5
|
+
export declare const categorizePayloadByAction: (payload: Payload[], addMap: Map<string, number>, removeMap: Map<string, number>) => void;
|
|
6
|
+
export declare const preparePayload: (audienceId: string, action: Action, identifierType: Identifier, listItems: string[]) => SyncAudiencePayload;
|
|
7
|
+
export declare const sendDataToMicrosoftBingAds: (request: RequestClient, payload: SyncAudiencePayload) => Promise<ModifiedResponse<unknown>>;
|
|
8
|
+
export declare const handleMultistatusResponse: (msResponse: MultiStatusResponse, response: ModifiedResponse, items: string[], listItemsMap: Map<string, number>, payload: Payload[], isBatch: boolean) => void;
|
|
9
|
+
export declare const handleHttpError: (msResponse: MultiStatusResponse, error: HTTPError, listItemsMap: Map<string, number>, payload: Payload[]) => Promise<void>;
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.handleHttpError = exports.handleMultistatusResponse = exports.sendDataToMicrosoftBingAds = exports.preparePayload = exports.categorizePayloadByAction = exports.hashEmail = void 0;
|
|
4
|
+
const hashing_utils_1 = require("../../lib/hashing-utils");
|
|
5
|
+
const actions_core_1 = require("@segment/actions-core");
|
|
6
|
+
const constants_1 = require("./constants");
|
|
7
|
+
const hashEmail = (item) => {
|
|
8
|
+
return (0, hashing_utils_1.processHashing)(item, 'sha256', 'hex', (value) => value.trim().toLowerCase());
|
|
9
|
+
};
|
|
10
|
+
exports.hashEmail = hashEmail;
|
|
11
|
+
const categorizePayloadByAction = (payload, addMap, removeMap) => {
|
|
12
|
+
payload.forEach((p, index) => {
|
|
13
|
+
const action = p.traits_or_props[p.audience_key] ? 'Add' : 'Remove';
|
|
14
|
+
const identifier = (p.identifier_type === 'Email' ? (0, exports.hashEmail)(p.email) : p.crm_id);
|
|
15
|
+
if (action === 'Add') {
|
|
16
|
+
addMap.set(identifier, index);
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
removeMap.set(identifier, index);
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
exports.categorizePayloadByAction = categorizePayloadByAction;
|
|
24
|
+
const preparePayload = (audienceId, action, identifierType, listItems) => {
|
|
25
|
+
return {
|
|
26
|
+
CustomerListUserData: {
|
|
27
|
+
ActionType: action,
|
|
28
|
+
AudienceId: audienceId,
|
|
29
|
+
CustomerListItemSubType: identifierType,
|
|
30
|
+
CustomerListItems: listItems
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
exports.preparePayload = preparePayload;
|
|
35
|
+
const sendDataToMicrosoftBingAds = async (request, payload) => {
|
|
36
|
+
const response = await request(`${constants_1.BASE_URL}/CustomerListUserData/Apply`, {
|
|
37
|
+
method: 'POST',
|
|
38
|
+
json: payload
|
|
39
|
+
});
|
|
40
|
+
return response;
|
|
41
|
+
};
|
|
42
|
+
exports.sendDataToMicrosoftBingAds = sendDataToMicrosoftBingAds;
|
|
43
|
+
const handleMultistatusResponse = (msResponse, response, items, listItemsMap, payload, isBatch) => {
|
|
44
|
+
const responseData = response?.data;
|
|
45
|
+
if (responseData?.PartialErrors && responseData.PartialErrors.length > 0) {
|
|
46
|
+
if (!isBatch) {
|
|
47
|
+
throw new actions_core_1.IntegrationError(responseData.PartialErrors[0].Message, 'PartialErrors', 400);
|
|
48
|
+
}
|
|
49
|
+
responseData.PartialErrors.forEach((error) => {
|
|
50
|
+
if (typeof error.Index === 'number' && error.Index >= 0 && error.Index < items.length) {
|
|
51
|
+
const item = items[error.Index];
|
|
52
|
+
const originalIndex = listItemsMap.get(item);
|
|
53
|
+
if (originalIndex !== undefined) {
|
|
54
|
+
msResponse.setErrorResponseAtIndex(originalIndex, {
|
|
55
|
+
status: error.Code || 400,
|
|
56
|
+
errormessage: `${error.ErrorCode ?? 'UnknownError'}: ${error.Message ?? 'No error message provided'}`,
|
|
57
|
+
sent: payload[originalIndex],
|
|
58
|
+
body: JSON.stringify(error)
|
|
59
|
+
});
|
|
60
|
+
listItemsMap.delete(item);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
listItemsMap.forEach((index) => {
|
|
66
|
+
msResponse.setSuccessResponseAtIndex(index, {
|
|
67
|
+
status: 200,
|
|
68
|
+
sent: payload[index],
|
|
69
|
+
body: JSON.stringify(response) || 'Success'
|
|
70
|
+
});
|
|
71
|
+
});
|
|
72
|
+
};
|
|
73
|
+
exports.handleMultistatusResponse = handleMultistatusResponse;
|
|
74
|
+
const handleHttpError = async (msResponse, error, listItemsMap, payload) => {
|
|
75
|
+
const errorResponse = await error?.response?.json();
|
|
76
|
+
listItemsMap.forEach((index) => {
|
|
77
|
+
msResponse.setErrorResponseAtIndex(index, {
|
|
78
|
+
status: errorResponse?.status,
|
|
79
|
+
errormessage: errorResponse?.message || error.message,
|
|
80
|
+
sent: payload[index],
|
|
81
|
+
body: JSON.stringify(errorResponse)
|
|
82
|
+
});
|
|
83
|
+
});
|
|
84
|
+
};
|
|
85
|
+
exports.handleHttpError = handleHttpError;
|
|
86
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/destinations/ms-bing-ads-audiences/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { DestinationDefinition } from '@segment/actions-core';
|
|
2
2
|
import type { Settings } from './generated-types';
|
|
3
3
|
declare const destination: DestinationDefinition<Settings>;
|
|
4
4
|
export default destination;
|
|
@@ -3,8 +3,8 @@ 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 sendEvent_1 = __importDefault(require("./sendEvent"));
|
|
7
|
-
const pageLoad_1 = __importDefault(require("./pageLoad"));
|
|
8
8
|
const destination = {
|
|
9
9
|
name: 'Ms Bing Capi',
|
|
10
10
|
slug: 'actions-ms-bing-capi',
|
|
@@ -21,8 +21,19 @@ const destination = {
|
|
|
21
21
|
ApiToken: {
|
|
22
22
|
label: 'Bing ApiToken',
|
|
23
23
|
description: 'Your Bing API Token.',
|
|
24
|
-
type: '
|
|
24
|
+
type: 'password',
|
|
25
25
|
required: true
|
|
26
|
+
},
|
|
27
|
+
adStorageConsent: {
|
|
28
|
+
label: 'Ad Storage Consent',
|
|
29
|
+
description: 'Ad Storage Consent for GDPR compliance',
|
|
30
|
+
type: 'string',
|
|
31
|
+
choices: [
|
|
32
|
+
{ label: 'Granted', value: 'G' },
|
|
33
|
+
{ label: 'Denied', value: 'D' }
|
|
34
|
+
],
|
|
35
|
+
default: 'G',
|
|
36
|
+
required: false
|
|
26
37
|
}
|
|
27
38
|
},
|
|
28
39
|
testAuthentication: (_, { settings }) => {
|
|
@@ -30,7 +41,7 @@ const destination = {
|
|
|
30
41
|
return true;
|
|
31
42
|
}
|
|
32
43
|
else {
|
|
33
|
-
throw new Error('Invalid
|
|
44
|
+
throw new Error('Invalid UetTag or ApiToken');
|
|
34
45
|
}
|
|
35
46
|
}
|
|
36
47
|
},
|
|
@@ -42,9 +53,76 @@ const destination = {
|
|
|
42
53
|
}
|
|
43
54
|
};
|
|
44
55
|
},
|
|
56
|
+
presets: [
|
|
57
|
+
{
|
|
58
|
+
name: 'Microsoft Bing CAPI msclkid Plugin',
|
|
59
|
+
subscribe: 'type = "track" or type = "identify" or type = "group" or type = "page" or type = "alias"',
|
|
60
|
+
partnerAction: 'msclkidPlugin',
|
|
61
|
+
mapping: {},
|
|
62
|
+
type: 'automatic'
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
name: 'Send Purchase Event',
|
|
66
|
+
subscribe: 'type = "track" and event = "Order Completed"',
|
|
67
|
+
partnerAction: 'sendEvent',
|
|
68
|
+
mapping: (0, actions_core_1.defaultValues)({
|
|
69
|
+
...sendEvent_1.default.fields,
|
|
70
|
+
customData: {
|
|
71
|
+
...sendEvent_1.default.fields.customData,
|
|
72
|
+
eventType: 'purchase'
|
|
73
|
+
}
|
|
74
|
+
}),
|
|
75
|
+
type: 'automatic'
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
name: 'Send Cart Event',
|
|
79
|
+
subscribe: 'type = "track" and event = "Add to Cart"',
|
|
80
|
+
partnerAction: 'sendEvent',
|
|
81
|
+
mapping: (0, actions_core_1.defaultValues)({
|
|
82
|
+
...sendEvent_1.default.fields,
|
|
83
|
+
customData: {
|
|
84
|
+
...sendEvent_1.default.fields.customData,
|
|
85
|
+
eventType: 'cart'
|
|
86
|
+
}
|
|
87
|
+
}),
|
|
88
|
+
type: 'automatic'
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
name: 'Send Search Results',
|
|
92
|
+
subscribe: 'type = "track" and event = "Products Searched"',
|
|
93
|
+
partnerAction: 'sendEvent',
|
|
94
|
+
mapping: (0, actions_core_1.defaultValues)({
|
|
95
|
+
...sendEvent_1.default.fields,
|
|
96
|
+
customData: {
|
|
97
|
+
...sendEvent_1.default.fields.customData,
|
|
98
|
+
eventType: 'searchresults'
|
|
99
|
+
}
|
|
100
|
+
}),
|
|
101
|
+
type: 'automatic'
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
name: 'Send Custom Event',
|
|
105
|
+
subscribe: 'type = "track" and event != "Order Completed" and event != "Add to Cart" and event != "Products Searched"',
|
|
106
|
+
partnerAction: 'sendEvent',
|
|
107
|
+
mapping: (0, actions_core_1.defaultValues)(sendEvent_1.default.fields),
|
|
108
|
+
type: 'automatic'
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
name: 'Send Pageload',
|
|
112
|
+
subscribe: 'type = "page"',
|
|
113
|
+
partnerAction: 'sendEvent',
|
|
114
|
+
mapping: (0, actions_core_1.defaultValues)({
|
|
115
|
+
...sendEvent_1.default.fields,
|
|
116
|
+
data: {
|
|
117
|
+
...sendEvent_1.default.fields.data,
|
|
118
|
+
eventType: 'pageLoad'
|
|
119
|
+
}
|
|
120
|
+
}),
|
|
121
|
+
type: 'automatic'
|
|
122
|
+
}
|
|
123
|
+
],
|
|
45
124
|
actions: {
|
|
46
|
-
sendEvent: sendEvent_1.default
|
|
47
|
-
pageLoad: pageLoad_1.default
|
|
125
|
+
sendEvent: sendEvent_1.default
|
|
48
126
|
}
|
|
49
127
|
};
|
|
50
128
|
exports.default = destination;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/destinations/ms-bing-capi/index.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/destinations/ms-bing-capi/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/destinations/ms-bing-capi/sendEvent/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,OAAO,GAAG,oCAAoC,CAAA;AAE9C,QAAA,kBAAkB,GAAG,IAAI,GAAG,CAAC;IACxC,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;CACN,CAAC,CAAA"}
|
|
@@ -4,3 +4,6 @@ export declare const data: InputField;
|
|
|
4
4
|
export declare const items: InputField;
|
|
5
5
|
export declare const hotelData: InputField;
|
|
6
6
|
export declare const customData: InputField;
|
|
7
|
+
export declare const timestamp: InputField;
|
|
8
|
+
export declare const enable_batching: InputField;
|
|
9
|
+
export declare const batch_size: InputField;
|