@segment/action-destinations 3.115.1-alpha.5 → 3.115.1-alpha.7
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/1plusx/sendEvent/index.js +1 -1
- package/dist/destinations/1plusx/sendEvent/index.js.map +1 -1
- package/dist/destinations/1plusx/sendPageview/index.js +1 -1
- package/dist/destinations/1plusx/sendPageview/index.js.map +1 -1
- package/dist/destinations/1plusx/sendUserData/index.js +1 -1
- package/dist/destinations/1plusx/sendUserData/index.js.map +1 -1
- package/dist/destinations/1plusx-asset-api/index.js +22 -9
- package/dist/destinations/1plusx-asset-api/index.js.map +1 -1
- package/dist/destinations/1plusx-asset-api/sendAssetData/index.js +3 -2
- package/dist/destinations/1plusx-asset-api/sendAssetData/index.js.map +1 -1
- package/dist/destinations/actions-bingads/functions.d.ts +0 -0
- package/dist/destinations/actions-bingads/functions.js +2 -0
- package/dist/destinations/actions-bingads/functions.js.map +1 -0
- package/dist/destinations/actions-bingads/generated-types.d.ts +10 -0
- package/dist/destinations/actions-bingads/generated-types.js +3 -0
- package/dist/destinations/actions-bingads/generated-types.js.map +1 -0
- package/dist/destinations/actions-bingads/index.d.ts +4 -0
- package/dist/destinations/actions-bingads/index.js +77 -0
- package/dist/destinations/actions-bingads/index.js.map +1 -0
- package/dist/destinations/actions-bingads/offlineConversions/formatter.d.ts +8 -0
- package/dist/destinations/actions-bingads/offlineConversions/formatter.js +33 -0
- package/dist/destinations/actions-bingads/offlineConversions/formatter.js.map +1 -0
- package/dist/destinations/actions-bingads/offlineConversions/generated-types.d.ts +7 -0
- package/dist/destinations/actions-bingads/offlineConversions/generated-types.js +3 -0
- package/dist/destinations/actions-bingads/offlineConversions/generated-types.js.map +1 -0
- package/dist/destinations/actions-bingads/offlineConversions/index.d.ts +5 -0
- package/dist/destinations/actions-bingads/offlineConversions/index.js +131 -0
- package/dist/destinations/actions-bingads/offlineConversions/index.js.map +1 -0
- package/dist/destinations/actions-pardot/generated-types.d.ts +1 -1
- package/dist/destinations/actions-pardot/index.js +1 -2
- package/dist/destinations/actions-pardot/index.js.map +1 -1
- package/dist/destinations/adobe-target/adobeTarget_operations.js +1 -1
- package/dist/destinations/adobe-target/adobeTarget_operations.js.map +1 -1
- package/dist/destinations/adobe-target/updateProfile/index.js +10 -2
- package/dist/destinations/adobe-target/updateProfile/index.js.map +1 -1
- package/dist/destinations/amplitude/event-schema.js +1 -5
- package/dist/destinations/amplitude/event-schema.js.map +1 -1
- package/dist/destinations/amplitude/identifyUser/index.js +1 -5
- package/dist/destinations/amplitude/identifyUser/index.js.map +1 -1
- package/dist/destinations/braze/trackEvent/generated-types.d.ts +1 -0
- package/dist/destinations/braze/trackEvent/index.js +11 -35
- package/dist/destinations/braze/trackEvent/index.js.map +1 -1
- package/dist/destinations/braze/trackPurchase/generated-types.d.ts +1 -0
- package/dist/destinations/braze/trackPurchase/index.js +11 -43
- package/dist/destinations/braze/trackPurchase/index.js.map +1 -1
- package/dist/destinations/braze/utils.d.ts +6 -0
- package/dist/destinations/braze/utils.js +82 -0
- package/dist/destinations/braze/utils.js.map +1 -0
- package/dist/destinations/engage-messaging-sendgrid/sendEmail/generated-types.d.ts +1 -0
- package/dist/destinations/engage-messaging-sendgrid/sendEmail/index.js +12 -0
- package/dist/destinations/engage-messaging-sendgrid/sendEmail/index.js.map +1 -1
- package/dist/destinations/fullstory/vars.js +22 -13
- package/dist/destinations/fullstory/vars.js.map +1 -1
- package/dist/destinations/google-enhanced-conversions/uploadConversionAdjustment/index.js +3 -3
- package/dist/destinations/google-enhanced-conversions/uploadConversionAdjustment/index.js.map +1 -1
- package/dist/destinations/index.js +1 -0
- package/dist/destinations/index.js.map +1 -1
- package/dist/destinations/intercom/generated-types.d.ts +1 -0
- package/dist/destinations/intercom/groupIdentifyContact/index.js +11 -8
- package/dist/destinations/intercom/groupIdentifyContact/index.js.map +1 -1
- package/dist/destinations/intercom/identifyContact/index.js +11 -8
- package/dist/destinations/intercom/identifyContact/index.js.map +1 -1
- package/dist/destinations/intercom/index.js +31 -6
- package/dist/destinations/intercom/index.js.map +1 -1
- package/dist/destinations/intercom/regional-endpoints.d.ts +6 -0
- package/dist/destinations/intercom/regional-endpoints.js +13 -0
- package/dist/destinations/intercom/regional-endpoints.js.map +1 -0
- package/dist/destinations/intercom/trackEvent/index.js +5 -3
- package/dist/destinations/intercom/trackEvent/index.js.map +1 -1
- package/dist/destinations/intercom/util.d.ts +2 -1
- package/dist/destinations/intercom/util.js +4 -2
- package/dist/destinations/intercom/util.js.map +1 -1
- package/dist/destinations/salesforce-marketing-cloud/contactDataExtension/index.js +1 -1
- package/dist/destinations/salesforce-marketing-cloud/contactDataExtension/index.js.map +1 -1
- package/dist/destinations/salesforce-marketing-cloud/sfmc-properties.js +3 -3
- package/dist/destinations/salesforce-marketing-cloud/sfmc-properties.js.map +1 -1
- package/dist/destinations/segment/errors.d.ts +3 -0
- package/dist/destinations/segment/errors.js +7 -0
- package/dist/destinations/segment/errors.js.map +1 -0
- package/dist/destinations/segment/generated-types.d.ts +4 -0
- package/dist/destinations/segment/generated-types.js +3 -0
- package/dist/destinations/segment/generated-types.js.map +1 -0
- package/dist/destinations/segment/index.d.ts +4 -0
- package/dist/destinations/segment/index.js +58 -0
- package/dist/destinations/segment/index.js.map +1 -0
- package/dist/destinations/segment/properties.d.ts +10 -0
- package/dist/destinations/segment/properties.js +17 -0
- package/dist/destinations/segment/properties.js.map +1 -0
- package/dist/destinations/segment/segment-properties.d.ts +23 -0
- package/dist/destinations/segment/segment-properties.js +322 -0
- package/dist/destinations/segment/segment-properties.js.map +1 -0
- package/dist/destinations/segment/sendGroup/generated-types.d.ts +65 -0
- package/dist/destinations/segment/sendGroup/generated-types.js +3 -0
- package/dist/destinations/segment/sendGroup/generated-types.js.map +1 -0
- package/dist/destinations/segment/sendGroup/index.d.ts +5 -0
- package/dist/destinations/segment/sendGroup/index.js +67 -0
- package/dist/destinations/segment/sendGroup/index.js.map +1 -0
- package/dist/destinations/segment/sendIdentify/generated-types.d.ts +65 -0
- package/dist/destinations/segment/sendIdentify/generated-types.js +3 -0
- package/dist/destinations/segment/sendIdentify/generated-types.js.map +1 -0
- package/dist/destinations/segment/sendIdentify/index.d.ts +5 -0
- package/dist/destinations/segment/sendIdentify/index.js +67 -0
- package/dist/destinations/segment/sendIdentify/index.js.map +1 -0
- package/dist/destinations/segment/sendPage/generated-types.d.ts +67 -0
- package/dist/destinations/segment/sendPage/generated-types.js +3 -0
- package/dist/destinations/segment/sendPage/generated-types.js.map +1 -0
- package/dist/destinations/segment/sendPage/index.d.ts +5 -0
- package/dist/destinations/segment/sendPage/index.js +77 -0
- package/dist/destinations/segment/sendPage/index.js.map +1 -0
- package/dist/destinations/segment/sendScreen/generated-types.d.ts +66 -0
- package/dist/destinations/segment/sendScreen/generated-types.js +3 -0
- package/dist/destinations/segment/sendScreen/generated-types.js.map +1 -0
- package/dist/destinations/segment/sendScreen/index.d.ts +5 -0
- package/dist/destinations/segment/sendScreen/index.js +69 -0
- package/dist/destinations/segment/sendScreen/index.js.map +1 -0
- package/dist/destinations/segment/sendTrack/generated-types.d.ts +66 -0
- package/dist/destinations/segment/sendTrack/generated-types.js +3 -0
- package/dist/destinations/segment/sendTrack/generated-types.js.map +1 -0
- package/dist/destinations/segment/sendTrack/index.d.ts +5 -0
- package/dist/destinations/segment/sendTrack/index.js +69 -0
- package/dist/destinations/segment/sendTrack/index.js.map +1 -0
- package/dist/destinations/sendgrid/sendgrid-properties.d.ts +1 -0
- package/dist/destinations/sendgrid/sendgrid-properties.js +23 -2
- package/dist/destinations/sendgrid/sendgrid-properties.js.map +1 -1
- package/dist/destinations/snap-conversions-api/_tests_/index.test.js +123 -0
- package/dist/destinations/snap-conversions-api/_tests_/index.test.js.map +1 -1
- package/dist/destinations/snap-conversions-api/reportConversionEvent/index.js +8 -2
- package/dist/destinations/snap-conversions-api/reportConversionEvent/index.js.map +1 -1
- package/dist/destinations/snap-conversions-api/snap-capi-properties.js +5 -5
- package/dist/destinations/snap-conversions-api/snap-capi-properties.js.map +1 -1
- package/dist/lib/test-data.js +2 -2
- package/dist/lib/test-data.js.map +1 -1
- package/package.json +4 -5
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const util_1 = require("../util");
|
|
4
|
+
const regional_endpoints_1 = require("../regional-endpoints");
|
|
4
5
|
const action = {
|
|
5
6
|
title: 'Identify Company',
|
|
6
7
|
description: 'Create or update a company in Intercom and attach a contact.',
|
|
@@ -100,26 +101,28 @@ const action = {
|
|
|
100
101
|
defaultObjectUI: 'keyvalue'
|
|
101
102
|
}
|
|
102
103
|
},
|
|
103
|
-
perform: async (request, { payload }) => {
|
|
104
|
-
const contact = await util_1.getUniqueIntercomContact(request, payload);
|
|
104
|
+
perform: async (request, { payload, settings }) => {
|
|
105
|
+
const contact = await util_1.getUniqueIntercomContact(request, payload, settings);
|
|
105
106
|
delete payload.email;
|
|
106
107
|
delete payload.external_id;
|
|
107
|
-
const response = await createOrUpdateIntercomCompany(request, payload);
|
|
108
|
+
const response = await createOrUpdateIntercomCompany(request, payload, settings);
|
|
108
109
|
if (contact) {
|
|
109
110
|
payload.contact_id = contact.id;
|
|
110
111
|
const companyId = response.data.id;
|
|
111
|
-
return attachContactToIntercomCompany(request, contact.id, companyId);
|
|
112
|
+
return attachContactToIntercomCompany(request, contact.id, companyId, settings);
|
|
112
113
|
}
|
|
113
114
|
}
|
|
114
115
|
};
|
|
115
|
-
function createOrUpdateIntercomCompany(request, payload) {
|
|
116
|
-
|
|
116
|
+
function createOrUpdateIntercomCompany(request, payload, settings) {
|
|
117
|
+
const endpoint = regional_endpoints_1.getEndpointByRegion(settings.endpoint);
|
|
118
|
+
return request(`${endpoint}/companies`, {
|
|
117
119
|
method: 'POST',
|
|
118
120
|
json: payload
|
|
119
121
|
});
|
|
120
122
|
}
|
|
121
|
-
function attachContactToIntercomCompany(request, contactId, companyId) {
|
|
122
|
-
|
|
123
|
+
function attachContactToIntercomCompany(request, contactId, companyId, settings) {
|
|
124
|
+
const endpoint = regional_endpoints_1.getEndpointByRegion(settings.endpoint);
|
|
125
|
+
return request(`${endpoint}/contacts/${contactId}/companies`, {
|
|
123
126
|
method: 'POST',
|
|
124
127
|
json: {
|
|
125
128
|
id: companyId
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/intercom/groupIdentifyContact/index.ts"],"names":[],"mappings":";;AAEA,kCAAkD;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/intercom/groupIdentifyContact/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const actions_core_1 = require("@segment/actions-core");
|
|
4
4
|
const util_1 = require("../util");
|
|
5
|
+
const regional_endpoints_1 = require("../regional-endpoints");
|
|
5
6
|
const action = {
|
|
6
7
|
title: 'Identify Contact',
|
|
7
8
|
description: 'Create or update a contact in Intercom',
|
|
@@ -89,15 +90,15 @@ const action = {
|
|
|
89
90
|
defaultObjectUI: 'keyvalue'
|
|
90
91
|
}
|
|
91
92
|
},
|
|
92
|
-
perform: async (request, { payload }) => {
|
|
93
|
+
perform: async (request, { payload, settings }) => {
|
|
93
94
|
payload.signed_up_at = util_1.convertValidTimestamp(payload.signed_up_at);
|
|
94
95
|
payload.last_seen_at = util_1.convertValidTimestamp(payload.last_seen_at);
|
|
95
96
|
try {
|
|
96
|
-
const contact = await util_1.getUniqueIntercomContact(request, payload);
|
|
97
|
+
const contact = await util_1.getUniqueIntercomContact(request, payload, settings);
|
|
97
98
|
if (contact) {
|
|
98
|
-
return updateIntercomContact(request, contact.id, payload);
|
|
99
|
+
return updateIntercomContact(request, contact.id, payload, settings);
|
|
99
100
|
}
|
|
100
|
-
return await createIntercomContact(request, payload);
|
|
101
|
+
return await createIntercomContact(request, payload, settings);
|
|
101
102
|
}
|
|
102
103
|
catch (error) {
|
|
103
104
|
if (error?.response?.status === 409) {
|
|
@@ -107,14 +108,16 @@ const action = {
|
|
|
107
108
|
}
|
|
108
109
|
}
|
|
109
110
|
};
|
|
110
|
-
async function createIntercomContact(request, payload) {
|
|
111
|
-
|
|
111
|
+
async function createIntercomContact(request, payload, settings) {
|
|
112
|
+
const endpoint = regional_endpoints_1.getEndpointByRegion(settings.endpoint);
|
|
113
|
+
return request(`${endpoint}/contacts`, {
|
|
112
114
|
method: 'POST',
|
|
113
115
|
json: payload
|
|
114
116
|
});
|
|
115
117
|
}
|
|
116
|
-
async function updateIntercomContact(request, contactId, payload) {
|
|
117
|
-
|
|
118
|
+
async function updateIntercomContact(request, contactId, payload, settings) {
|
|
119
|
+
const endpoint = regional_endpoints_1.getEndpointByRegion(settings.endpoint);
|
|
120
|
+
return request(`${endpoint}/contacts/${contactId}`, {
|
|
118
121
|
method: 'PUT',
|
|
119
122
|
json: payload
|
|
120
123
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/intercom/identifyContact/index.ts"],"names":[],"mappings":";;AAAA,wDAAuF;AAEvF,kCAAyE;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/intercom/identifyContact/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,16 +8,40 @@ const identifyContact_1 = __importDefault(require("./identifyContact"));
|
|
|
8
8
|
const groupIdentifyContact_1 = __importDefault(require("./groupIdentifyContact"));
|
|
9
9
|
const trackEvent_1 = __importDefault(require("./trackEvent"));
|
|
10
10
|
const util_1 = require("./util");
|
|
11
|
+
const regional_endpoints_1 = require("./regional-endpoints");
|
|
11
12
|
const destination = {
|
|
12
13
|
name: 'Intercom Cloud Mode (Actions)',
|
|
13
14
|
slug: 'actions-intercom-cloud',
|
|
14
15
|
mode: 'cloud',
|
|
15
16
|
authentication: {
|
|
16
17
|
scheme: 'oauth2',
|
|
17
|
-
fields: {
|
|
18
|
-
|
|
18
|
+
fields: {
|
|
19
|
+
endpoint: {
|
|
20
|
+
description: 'The destination will send your data to the endpoint in this region.',
|
|
21
|
+
label: 'Endpoint Region',
|
|
22
|
+
type: 'string',
|
|
23
|
+
choices: [
|
|
24
|
+
{
|
|
25
|
+
label: 'North America',
|
|
26
|
+
value: 'north_america'
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
label: 'Europe',
|
|
30
|
+
value: 'europe'
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
label: 'Australia',
|
|
34
|
+
value: 'australia'
|
|
35
|
+
}
|
|
36
|
+
],
|
|
37
|
+
default: 'north_america',
|
|
38
|
+
required: true
|
|
39
|
+
}
|
|
40
|
+
},
|
|
41
|
+
testAuthentication: async (request, { settings }) => {
|
|
42
|
+
const endpoint = regional_endpoints_1.getEndpointByRegion(settings.endpoint);
|
|
19
43
|
try {
|
|
20
|
-
return await request(
|
|
44
|
+
return await request(`${endpoint}/admins`);
|
|
21
45
|
}
|
|
22
46
|
catch (error) {
|
|
23
47
|
throw new Error('Test authentication failed');
|
|
@@ -31,11 +55,12 @@ const destination = {
|
|
|
31
55
|
}
|
|
32
56
|
};
|
|
33
57
|
},
|
|
34
|
-
onDelete: async (request, { payload }) => {
|
|
58
|
+
onDelete: async (request, { payload, settings }) => {
|
|
35
59
|
const external_id = payload.userId;
|
|
36
|
-
const
|
|
60
|
+
const endpoint = regional_endpoints_1.getEndpointByRegion(settings.endpoint);
|
|
61
|
+
const contact = await util_1.getUniqueIntercomContact(request, { external_id }, settings);
|
|
37
62
|
if (contact) {
|
|
38
|
-
return request(
|
|
63
|
+
return request(`${endpoint}/contacts/${payload.userId}`, {
|
|
39
64
|
method: 'DELETE'
|
|
40
65
|
});
|
|
41
66
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/destinations/intercom/index.ts"],"names":[],"mappings":";;;;;AAAA,wDAA+E;AAE/E,wEAA+C;AAC/C,kFAAyD;AACzD,8DAAqC;AACrC,iCAAiD;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/destinations/intercom/index.ts"],"names":[],"mappings":";;;;;AAAA,wDAA+E;AAE/E,wEAA+C;AAC/C,kFAAyD;AACzD,8DAAqC;AACrC,iCAAiD;AACjD,6DAA0D;AAE1D,MAAM,WAAW,GAAoC;IACnD,IAAI,EAAE,+BAA+B;IACrC,IAAI,EAAE,wBAAwB;IAC9B,IAAI,EAAE,OAAO;IAEb,cAAc,EAAE;QACd,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE;YACN,QAAQ,EAAE;gBACR,WAAW,EAAE,qEAAqE;gBAClF,KAAK,EAAE,iBAAiB;gBACxB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE;oBACP;wBACE,KAAK,EAAE,eAAe;wBACtB,KAAK,EAAE,eAAe;qBACvB;oBACD;wBACE,KAAK,EAAE,QAAQ;wBACf,KAAK,EAAE,QAAQ;qBAChB;oBACD;wBACE,KAAK,EAAE,WAAW;wBAClB,KAAK,EAAE,WAAW;qBACnB;iBACF;gBACD,OAAO,EAAE,eAAe;gBACxB,QAAQ,EAAE,IAAI;aACf;SACF;QACD,kBAAkB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;YAClD,MAAM,QAAQ,GAAG,wCAAmB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;YAIvD,IAAI;gBACF,OAAO,MAAM,OAAO,CAAC,GAAG,QAAQ,SAAS,CAAC,CAAA;aAC3C;YAAC,OAAO,KAAK,EAAE;gBACd,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAA;aAC9C;QACH,CAAC;KACF;IACD,aAAa,CAAC,EAAE,IAAI,EAAE;QACpB,OAAO;YACL,OAAO,EAAE;gBACP,aAAa,EAAE,UAAU,IAAI,EAAE,WAAW,EAAE;aAC7C;SACF,CAAA;IACH,CAAC;IAMD,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE;QACjD,MAAM,WAAW,GAAG,OAAO,CAAC,MAAgB,CAAA;QAC5C,MAAM,QAAQ,GAAG,wCAAmB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;QACvD,MAAM,OAAO,GAAG,MAAM,+BAAwB,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,EAAE,QAAQ,CAAC,CAAA;QAClF,IAAI,OAAO,EAAE;YACX,OAAO,OAAO,CAAC,GAAG,QAAQ,aAAa,OAAO,CAAC,MAAM,EAAE,EAAE;gBACvD,MAAM,EAAE,QAAQ;aACjB,CAAC,CAAA;SACH;aAAM;YACL,MAAM,IAAI,+BAAgB,CAAC,yBAAyB,EAAE,mBAAmB,EAAE,GAAG,CAAC,CAAA;SAChF;IACH,CAAC;IAED,OAAO,EAAE;QACP,eAAe,EAAf,yBAAe;QACf,oBAAoB,EAApB,8BAAoB;QACpB,UAAU,EAAV,oBAAU;KACX;CACF,CAAA;AAED,kBAAe,WAAW,CAAA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getEndpointByRegion = exports.endpoints = void 0;
|
|
4
|
+
exports.endpoints = {
|
|
5
|
+
north_america: 'https://api.intercom.io',
|
|
6
|
+
europe: 'https://api.eu.intercom.io',
|
|
7
|
+
australia: 'https://api.au.intercom.io'
|
|
8
|
+
};
|
|
9
|
+
function getEndpointByRegion(region) {
|
|
10
|
+
return exports.endpoints[region] ?? exports.endpoints['north_america'];
|
|
11
|
+
}
|
|
12
|
+
exports.getEndpointByRegion = getEndpointByRegion;
|
|
13
|
+
//# sourceMappingURL=regional-endpoints.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"regional-endpoints.js","sourceRoot":"","sources":["../../../src/destinations/intercom/regional-endpoints.ts"],"names":[],"mappings":";;;AAAa,QAAA,SAAS,GAAG;IACvB,aAAa,EAAE,yBAAyB;IACxC,MAAM,EAAE,4BAA4B;IACpC,SAAS,EAAE,4BAA4B;CACxC,CAAA;AAWD,SAAgB,mBAAmB,CAAC,MAAe;IACjD,OAAO,iBAAS,CAAC,MAAgB,CAAC,IAAI,iBAAS,CAAC,eAAe,CAAC,CAAA;AAClE,CAAC;AAFD,kDAEC"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const actions_core_1 = require("@segment/actions-core");
|
|
4
4
|
const util_1 = require("../util");
|
|
5
|
+
const regional_endpoints_1 = require("../regional-endpoints");
|
|
5
6
|
const action = {
|
|
6
7
|
title: 'Track Event',
|
|
7
8
|
description: 'Submit an event to Intercom.',
|
|
@@ -72,11 +73,12 @@ const action = {
|
|
|
72
73
|
}
|
|
73
74
|
}
|
|
74
75
|
},
|
|
75
|
-
perform: async (request, { payload }) => {
|
|
76
|
+
perform: async (request, { payload, settings }) => {
|
|
76
77
|
payload.created_at = util_1.convertValidTimestamp(payload.created_at);
|
|
77
78
|
delete payload.metadata?.email;
|
|
79
|
+
const endpoint = regional_endpoints_1.getEndpointByRegion(settings.endpoint);
|
|
78
80
|
if (payload.email && !payload.user_id && !payload.id) {
|
|
79
|
-
const contact = await util_1.getUniqueIntercomContact(request, payload);
|
|
81
|
+
const contact = await util_1.getUniqueIntercomContact(request, payload, settings);
|
|
80
82
|
if (contact) {
|
|
81
83
|
payload.id = contact.id;
|
|
82
84
|
}
|
|
@@ -85,7 +87,7 @@ const action = {
|
|
|
85
87
|
}
|
|
86
88
|
}
|
|
87
89
|
possiblyPopulatePrice(payload);
|
|
88
|
-
return request(
|
|
90
|
+
return request(`${endpoint}/events`, {
|
|
89
91
|
method: 'POST',
|
|
90
92
|
json: payload
|
|
91
93
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/intercom/trackEvent/index.ts"],"names":[],"mappings":";;AAAA,wDAA0E;AAE1E,kCAAyE;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/intercom/trackEvent/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { RequestClient } from '@segment/actions-core';
|
|
2
|
+
import type { Settings } from './generated-types';
|
|
2
3
|
interface IntercomContact {
|
|
3
4
|
id: string;
|
|
4
5
|
}
|
|
@@ -6,6 +7,6 @@ interface SearchPayload {
|
|
|
6
7
|
external_id?: string;
|
|
7
8
|
email?: string;
|
|
8
9
|
}
|
|
9
|
-
export declare function getUniqueIntercomContact(request: RequestClient, payload: SearchPayload): Promise<IntercomContact | undefined>;
|
|
10
|
+
export declare function getUniqueIntercomContact(request: RequestClient, payload: SearchPayload, settings: Settings): Promise<IntercomContact | undefined>;
|
|
10
11
|
export declare const convertValidTimestamp: <Value = unknown>(value: Value) => number | Value;
|
|
11
12
|
export {};
|
|
@@ -5,8 +5,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.convertValidTimestamp = exports.getUniqueIntercomContact = void 0;
|
|
7
7
|
const dayjs_1 = __importDefault(require("../../lib/dayjs"));
|
|
8
|
-
|
|
8
|
+
const regional_endpoints_1 = require("./regional-endpoints");
|
|
9
|
+
async function getUniqueIntercomContact(request, payload, settings) {
|
|
9
10
|
const { external_id, email } = payload;
|
|
11
|
+
const endpoint = regional_endpoints_1.getEndpointByRegion(settings.endpoint);
|
|
10
12
|
let query;
|
|
11
13
|
if (external_id) {
|
|
12
14
|
query = {
|
|
@@ -25,7 +27,7 @@ async function getUniqueIntercomContact(request, payload) {
|
|
|
25
27
|
else {
|
|
26
28
|
return;
|
|
27
29
|
}
|
|
28
|
-
const response = await request(
|
|
30
|
+
const response = await request(`${endpoint}/contacts/search`, {
|
|
29
31
|
method: 'POST',
|
|
30
32
|
json: { query }
|
|
31
33
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/destinations/intercom/util.ts"],"names":[],"mappings":";;;;;;AACA,4DAAmC;
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/destinations/intercom/util.ts"],"names":[],"mappings":";;;;;;AACA,4DAAmC;AAEnC,6DAA0D;AAqBnD,KAAK,UAAU,wBAAwB,CAAC,OAAsB,EAAE,OAAsB,EAAE,QAAkB;IAC/G,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,OAAO,CAAA;IACtC,MAAM,QAAQ,GAAG,wCAAmB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;IAEvD,IAAI,KAAK,CAAA;IACT,IAAI,WAAW,EAAE;QACf,KAAK,GAAG;YACN,KAAK,EAAE,aAAa;YACpB,QAAQ,EAAE,GAAG;YACb,KAAK,EAAE,WAAW;SACnB,CAAA;KACF;SAAM,IAAI,KAAK,EAAE;QAChB,KAAK,GAAG;YACN,KAAK,EAAE,OAAO;YACd,QAAQ,EAAE,GAAG;YACb,KAAK,EAAE,KAAK;SACb,CAAA;KACF;SAAM;QACL,OAAM;KACP;IAED,MAAM,QAAQ,GAAyC,MAAM,OAAO,CAAC,GAAG,QAAQ,kBAAkB,EAAE;QAClG,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,EAAE,KAAK,EAAE;KAChB,CAAC,CAAA;IAEF,IAAI,QAAQ,EAAE,IAAI,EAAE,WAAW,KAAK,CAAC,EAAE;QACrC,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;KAC7B;AACH,CAAC;AA7BD,4DA6BC;AAEM,MAAM,qBAAqB,GAAG,CAAkB,KAAY,EAAkB,EAAE;IAKrF,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;QACpD,OAAO,KAAK,CAAA;KACb;IAED,MAAM,SAAS,GAAG,eAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IAElC,IAAI,SAAS,CAAC,OAAO,EAAE,EAAE;QACvB,OAAO,SAAS,CAAC,IAAI,EAAE,CAAA;KACxB;IAED,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAhBY,QAAA,qBAAqB,yBAgBjC"}
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
const sfmc_properties_1 = require("../sfmc-properties");
|
|
4
4
|
const sfmc_operations_1 = require("../sfmc-operations");
|
|
5
5
|
const action = {
|
|
6
|
-
title: 'Contact Data Extension',
|
|
6
|
+
title: 'Send Contact to Data Extension',
|
|
7
7
|
defaultSubscription: 'type = "identify"',
|
|
8
8
|
description: 'Upsert contact data as rows into an existing data extension in Salesforce Marketing Cloud.',
|
|
9
9
|
fields: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/salesforce-marketing-cloud/contactDataExtension/index.ts"],"names":[],"mappings":";;AAGA,wDAAyF;AACzF,wDAA+C;AAE/C,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/salesforce-marketing-cloud/contactDataExtension/index.ts"],"names":[],"mappings":";;AAGA,wDAAyF;AACzF,wDAA+C;AAE/C,MAAM,MAAM,GAAwC;IAClD,KAAK,EAAE,gCAAgC;IACvC,mBAAmB,EAAE,mBAAmB;IACxC,WAAW,EAAE,4FAA4F;IACzG,MAAM,EAAE;QACN,GAAG,EAAE,qBAAG;QACR,EAAE,EAAE,oBAAE;QACN,IAAI,EAAE;YACJ,GAAG,sBAAI;YACP,UAAU,EAAE;gBACV,UAAU,EAAE;oBACV,KAAK,EAAE,aAAa;oBACpB,WAAW,EACT,gJAAgJ;oBAClJ,IAAI,EAAE,QAAQ;oBACd,QAAQ,EAAE,IAAI;iBACf;aACF;YACD,OAAO,EAAE;gBACP,UAAU,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE;aACpC;SACF;QACD,MAAM,EAAE,sCAAoB;QAC5B,eAAe,EAAE,iCAAe;KACjC;IACD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;QAChD,OAAO,4BAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,CAAC,CAAA;IAC3D,CAAC;IACD,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;QACrD,OAAO,4BAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;IACzD,CAAC;CACF,CAAA;AAED,kBAAe,MAAM,CAAA"}
|
|
@@ -16,17 +16,17 @@ exports.contactKeyAPIEvent = {
|
|
|
16
16
|
};
|
|
17
17
|
exports.key = {
|
|
18
18
|
label: 'Data Extension Key',
|
|
19
|
-
description: 'The key of the data extension that you want to store
|
|
19
|
+
description: 'The external key of the data extension that you want to store information in. The data extension must be predefined in SFMC. The external key is required if a Data Extension ID is not provided.',
|
|
20
20
|
type: 'string'
|
|
21
21
|
};
|
|
22
22
|
exports.id = {
|
|
23
23
|
label: 'Data Extension ID',
|
|
24
|
-
description: 'The ID of the data extension that you want to store
|
|
24
|
+
description: 'The ID of the data extension that you want to store information in. The data extension must be predefined in SFMC. The ID is required if a Data Extension Key is not provided.',
|
|
25
25
|
type: 'string'
|
|
26
26
|
};
|
|
27
27
|
exports.keys = {
|
|
28
28
|
label: 'Data Extension Primary Keys',
|
|
29
|
-
description: 'The primary key(s) that uniquely identify a
|
|
29
|
+
description: 'The primary key(s) that uniquely identify a row in the data extension. On the left-hand side, input the SFMC key name. On the right-hand side, map the Segment field that contains the corresponding value. When multiple primary keys are provided, SFMC will update an existing row if all primary keys match, otherwise a new row will be created',
|
|
30
30
|
type: 'object',
|
|
31
31
|
required: true,
|
|
32
32
|
defaultObjectUI: 'keyvalue:only',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sfmc-properties.js","sourceRoot":"","sources":["../../../src/destinations/salesforce-marketing-cloud/sfmc-properties.ts"],"names":[],"mappings":";;;AAEa,QAAA,UAAU,GAAe;IACpC,KAAK,EAAE,aAAa;IACpB,WAAW,EACT,gJAAgJ;IAClJ,IAAI,EAAE,QAAQ;IACd,OAAO,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE;CACjC,CAAA;AAEY,QAAA,kBAAkB,GAAe;IAC5C,KAAK,EAAE,aAAa;IACpB,WAAW,EAAE,kEAAkE;IAC/E,IAAI,EAAE,QAAQ;IACd,OAAO,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE;IAChC,QAAQ,EAAE,IAAI;CACf,CAAA;AAEY,QAAA,GAAG,GAAe;IAC7B,KAAK,EAAE,oBAAoB;IAC3B,WAAW,EACT,
|
|
1
|
+
{"version":3,"file":"sfmc-properties.js","sourceRoot":"","sources":["../../../src/destinations/salesforce-marketing-cloud/sfmc-properties.ts"],"names":[],"mappings":";;;AAEa,QAAA,UAAU,GAAe;IACpC,KAAK,EAAE,aAAa;IACpB,WAAW,EACT,gJAAgJ;IAClJ,IAAI,EAAE,QAAQ;IACd,OAAO,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE;CACjC,CAAA;AAEY,QAAA,kBAAkB,GAAe;IAC5C,KAAK,EAAE,aAAa;IACpB,WAAW,EAAE,kEAAkE;IAC/E,IAAI,EAAE,QAAQ;IACd,OAAO,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE;IAChC,QAAQ,EAAE,IAAI;CACf,CAAA;AAEY,QAAA,GAAG,GAAe;IAC7B,KAAK,EAAE,oBAAoB;IAC3B,WAAW,EACT,mMAAmM;IACrM,IAAI,EAAE,QAAQ;CACf,CAAA;AAEY,QAAA,EAAE,GAAe;IAC5B,KAAK,EAAE,mBAAmB;IAC1B,WAAW,EACT,gLAAgL;IAClL,IAAI,EAAE,QAAQ;CACf,CAAA;AAEY,QAAA,IAAI,GAAe;IAC9B,KAAK,EAAE,6BAA6B;IACpC,WAAW,EACT,sVAAsV;IACxV,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,IAAI;IACd,eAAe,EAAE,eAAe;IAChC,oBAAoB,EAAE,IAAI;CAC3B,CAAA;AAEY,QAAA,oBAAoB,GAAe;IAC9C,KAAK,EAAE,gBAAgB;IACvB,WAAW,EACT,iWAAiW;IACnW,IAAI,EAAE,QAAQ;IACd,eAAe,EAAE,eAAe;IAChC,QAAQ,EAAE,IAAI;CACf,CAAA;AAEY,QAAA,0BAA0B,GAAe;IACpD,KAAK,EAAE,uBAAuB;IAC9B,WAAW,EACT,iXAAiX;IACnX,IAAI,EAAE,QAAQ;IACd,eAAe,EAAE,eAAe;IAChC,QAAQ,EAAE,IAAI;CACf,CAAA;AAEY,QAAA,kBAAkB,GAAe;IAC5C,KAAK,EAAE,sBAAsB;IAC7B,WAAW,EACT,wHAAwH;IAC1H,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,IAAI;CACf,CAAA;AAEY,QAAA,SAAS,GAAe;IACnC,KAAK,EAAE,YAAY;IACnB,WAAW,EACT,6SAA6S;IAC/S,IAAI,EAAE,QAAQ;IACd,eAAe,EAAE,eAAe;CACjC,CAAA;AAEY,QAAA,eAAe,GAAe;IACzC,KAAK,EAAE,oBAAoB;IAC3B,WAAW,EAAE,qEAAqE;IAClF,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,KAAK;CACf,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.InvalidEndpointSelectedThrowableError = exports.MissingUserOrAnonymousIdThrowableError = void 0;
|
|
4
|
+
const actions_core_1 = require("@segment/actions-core");
|
|
5
|
+
exports.MissingUserOrAnonymousIdThrowableError = new actions_core_1.IntegrationError('Either `Anonymous ID` or `User ID` must be defined.', 'Missing Required Field', 400);
|
|
6
|
+
exports.InvalidEndpointSelectedThrowableError = new actions_core_1.IntegrationError('A valid endpoint must be selected. Please check your Segment settings.', 'Misconfigured Endpoint', 400);
|
|
7
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/destinations/segment/errors.ts"],"names":[],"mappings":";;;AAAA,wDAAwD;AAE3C,QAAA,sCAAsC,GAAG,IAAI,+BAAgB,CACxE,qDAAqD,EACrD,wBAAwB,EACxB,GAAG,CACJ,CAAA;AAEY,QAAA,qCAAqC,GAAG,IAAI,+BAAgB,CACvE,wEAAwE,EACxE,wBAAwB,EACxB,GAAG,CACJ,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generated-types.js","sourceRoot":"","sources":["../../../src/destinations/segment/generated-types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const sendIdentify_1 = __importDefault(require("./sendIdentify"));
|
|
7
|
+
const sendGroup_1 = __importDefault(require("./sendGroup"));
|
|
8
|
+
const sendScreen_1 = __importDefault(require("./sendScreen"));
|
|
9
|
+
const sendPage_1 = __importDefault(require("./sendPage"));
|
|
10
|
+
const sendTrack_1 = __importDefault(require("./sendTrack"));
|
|
11
|
+
const properties_1 = require("./properties");
|
|
12
|
+
const destination = {
|
|
13
|
+
name: 'Segment',
|
|
14
|
+
slug: 'actions-segment',
|
|
15
|
+
mode: 'cloud',
|
|
16
|
+
authentication: {
|
|
17
|
+
scheme: 'custom',
|
|
18
|
+
fields: {
|
|
19
|
+
source_write_key: {
|
|
20
|
+
label: 'Source Write Key',
|
|
21
|
+
description: 'The **Write Key** of a Segment source.',
|
|
22
|
+
type: 'string',
|
|
23
|
+
required: true
|
|
24
|
+
},
|
|
25
|
+
endpoint: {
|
|
26
|
+
label: 'Endpoint Region',
|
|
27
|
+
description: 'The region to send your data.',
|
|
28
|
+
type: 'string',
|
|
29
|
+
format: 'text',
|
|
30
|
+
choices: Object.keys(properties_1.SEGMENT_ENDPOINTS).map((key) => ({
|
|
31
|
+
label: properties_1.SEGMENT_ENDPOINTS[key].label,
|
|
32
|
+
value: key
|
|
33
|
+
})),
|
|
34
|
+
default: properties_1.DEFAULT_SEGMENT_ENDPOINT
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
testAuthentication: async (request, { settings }) => {
|
|
38
|
+
const { source_write_key, endpoint } = settings;
|
|
39
|
+
return request(`${properties_1.SEGMENT_ENDPOINTS[endpoint || properties_1.DEFAULT_SEGMENT_ENDPOINT].cdn}/projects/${source_write_key}/settings`);
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
extendRequest({ settings }) {
|
|
43
|
+
return {
|
|
44
|
+
headers: {
|
|
45
|
+
authorization: `Basic ${Buffer.from(settings.source_write_key + ':').toString('base64')}`
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
},
|
|
49
|
+
actions: {
|
|
50
|
+
sendIdentify: sendIdentify_1.default,
|
|
51
|
+
sendGroup: sendGroup_1.default,
|
|
52
|
+
sendScreen: sendScreen_1.default,
|
|
53
|
+
sendPage: sendPage_1.default,
|
|
54
|
+
sendTrack: sendTrack_1.default
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
exports.default = destination;
|
|
58
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/destinations/segment/index.ts"],"names":[],"mappings":";;;;;AAGA,kEAAyC;AACzC,4DAAmC;AACnC,8DAAqC;AACrC,0DAAiC;AACjC,4DAAmC;AAEnC,6CAA0E;AAE1E,MAAM,WAAW,GAAoC;IAEnD,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,iBAAiB;IACvB,IAAI,EAAE,OAAO;IAEb,cAAc,EAAE;QACd,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE;YACN,gBAAgB,EAAE;gBAChB,KAAK,EAAE,kBAAkB;gBACzB,WAAW,EAAE,wCAAwC;gBACrD,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;aACf;YACD,QAAQ,EAAE;gBACR,KAAK,EAAE,iBAAiB;gBACxB,WAAW,EAAE,+BAA+B;gBAC5C,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,8BAAiB,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;oBACpD,KAAK,EAAE,8BAAiB,CAAC,GAAG,CAAC,CAAC,KAAK;oBACnC,KAAK,EAAE,GAAG;iBACX,CAAC,CAAC;gBACH,OAAO,EAAE,qCAAwB;aAClC;SACF;QACD,kBAAkB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;YAClD,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAAA;YAE/C,OAAO,OAAO,CACZ,GAAG,8BAAiB,CAAC,QAAQ,IAAI,qCAAwB,CAAC,CAAC,GAAG,aAAa,gBAAgB,WAAW,CACvG,CAAA;QACH,CAAC;KACF;IACD,aAAa,CAAC,EAAE,QAAQ,EAAE;QACxB,OAAO;YACL,OAAO,EAAE;gBACP,aAAa,EAAE,SAAS,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;aAC1F;SACF,CAAA;IACH,CAAC;IACD,OAAO,EAAE;QACP,YAAY,EAAZ,sBAAY;QACZ,SAAS,EAAT,mBAAS;QACT,UAAU,EAAV,oBAAU;QACV,QAAQ,EAAR,kBAAQ;QACR,SAAS,EAAT,mBAAS;KACV;CACF,CAAA;AAED,kBAAe,WAAW,CAAA"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DEFAULT_SEGMENT_ENDPOINT = exports.SEGMENT_ENDPOINTS = void 0;
|
|
4
|
+
exports.SEGMENT_ENDPOINTS = {
|
|
5
|
+
north_america: {
|
|
6
|
+
label: 'North America',
|
|
7
|
+
url: 'https://api.segment.io/v1',
|
|
8
|
+
cdn: 'https://cdn.segment.com/v1'
|
|
9
|
+
},
|
|
10
|
+
europe: {
|
|
11
|
+
label: 'Europe',
|
|
12
|
+
url: 'https://events.eu1.segmentapis.com/v1',
|
|
13
|
+
cdn: 'https://cdn.segment.com/v1'
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
exports.DEFAULT_SEGMENT_ENDPOINT = 'north_america';
|
|
17
|
+
//# sourceMappingURL=properties.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"properties.js","sourceRoot":"","sources":["../../../src/destinations/segment/properties.ts"],"names":[],"mappings":";;;AAMa,QAAA,iBAAiB,GAAuC;IACnE,aAAa,EAAE;QACb,KAAK,EAAE,eAAe;QACtB,GAAG,EAAE,2BAA2B;QAChC,GAAG,EAAE,4BAA4B;KAClC;IACD,MAAM,EAAE;QACN,KAAK,EAAE,QAAQ;QACf,GAAG,EAAE,uCAAuC;QAC5C,GAAG,EAAE,4BAA4B;KAClC;CACF,CAAA;AAEY,QAAA,wBAAwB,GAAG,eAAe,CAAA"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { InputField } from '@segment/actions-core/src/destination-kit/types';
|
|
2
|
+
export declare const user_id: InputField;
|
|
3
|
+
export declare const anonymous_id: InputField;
|
|
4
|
+
export declare const timestamp: InputField;
|
|
5
|
+
export declare const page_name: InputField;
|
|
6
|
+
export declare const screen_name: InputField;
|
|
7
|
+
export declare const event_name: InputField;
|
|
8
|
+
export declare const page_category: InputField;
|
|
9
|
+
export declare const application: InputField;
|
|
10
|
+
export declare const campaign_parameters: InputField;
|
|
11
|
+
export declare const device: InputField;
|
|
12
|
+
export declare const ip_address: InputField;
|
|
13
|
+
export declare const locale: InputField;
|
|
14
|
+
export declare const location: InputField;
|
|
15
|
+
export declare const network: InputField;
|
|
16
|
+
export declare const operating_system: InputField;
|
|
17
|
+
export declare const page: InputField;
|
|
18
|
+
export declare const screen: InputField;
|
|
19
|
+
export declare const user_agent: InputField;
|
|
20
|
+
export declare const timezone: InputField;
|
|
21
|
+
export declare const group_id: InputField;
|
|
22
|
+
export declare const properties: InputField;
|
|
23
|
+
export declare const traits: InputField;
|