@segment/action-destinations 3.417.0 → 3.418.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/attentive/fields.js +0 -1
- package/dist/destinations/attentive/fields.js.map +1 -1
- package/dist/destinations/attentive/functions.js +5 -8
- package/dist/destinations/attentive/functions.js.map +1 -1
- package/dist/destinations/customerio/createUpdateDevice/generated-types.d.ts +2 -0
- package/dist/destinations/customerio/createUpdateDevice/index.js +3 -1
- package/dist/destinations/customerio/createUpdateDevice/index.js.map +1 -1
- package/dist/destinations/customerio/createUpdateObject/generated-types.d.ts +2 -0
- package/dist/destinations/customerio/createUpdateObject/index.js +3 -1
- package/dist/destinations/customerio/createUpdateObject/index.js.map +1 -1
- package/dist/destinations/customerio/createUpdatePerson/generated-types.d.ts +2 -0
- package/dist/destinations/customerio/createUpdatePerson/index.js +3 -1
- package/dist/destinations/customerio/createUpdatePerson/index.js.map +1 -1
- package/dist/destinations/customerio/customerio-properties.d.ts +2 -0
- package/dist/destinations/customerio/customerio-properties.js +21 -0
- package/dist/destinations/customerio/customerio-properties.js.map +1 -0
- package/dist/destinations/customerio/deleteDevice/generated-types.d.ts +2 -0
- package/dist/destinations/customerio/deleteDevice/index.js +3 -1
- package/dist/destinations/customerio/deleteDevice/index.js.map +1 -1
- package/dist/destinations/customerio/deleteObject/generated-types.d.ts +2 -0
- package/dist/destinations/customerio/deleteObject/index.js +3 -1
- package/dist/destinations/customerio/deleteObject/index.js.map +1 -1
- package/dist/destinations/customerio/deletePerson/generated-types.d.ts +2 -0
- package/dist/destinations/customerio/deletePerson/index.js +3 -1
- package/dist/destinations/customerio/deletePerson/index.js.map +1 -1
- package/dist/destinations/customerio/deleteRelationship/generated-types.d.ts +2 -0
- package/dist/destinations/customerio/deleteRelationship/index.js +3 -1
- package/dist/destinations/customerio/deleteRelationship/index.js.map +1 -1
- package/dist/destinations/customerio/mergePeople/generated-types.d.ts +2 -0
- package/dist/destinations/customerio/mergePeople/index.js +3 -1
- package/dist/destinations/customerio/mergePeople/index.js.map +1 -1
- package/dist/destinations/customerio/reportContentEvent/generated-types.d.ts +2 -0
- package/dist/destinations/customerio/reportContentEvent/index.js +2 -0
- package/dist/destinations/customerio/reportContentEvent/index.js.map +1 -1
- package/dist/destinations/customerio/reportDeliveryEvent/generated-types.d.ts +2 -0
- package/dist/destinations/customerio/reportDeliveryEvent/index.js +3 -1
- package/dist/destinations/customerio/reportDeliveryEvent/index.js.map +1 -1
- package/dist/destinations/customerio/suppressPerson/generated-types.d.ts +2 -0
- package/dist/destinations/customerio/suppressPerson/index.js +3 -1
- package/dist/destinations/customerio/suppressPerson/index.js.map +1 -1
- package/dist/destinations/customerio/trackEvent/generated-types.d.ts +2 -0
- package/dist/destinations/customerio/trackEvent/index.js +3 -1
- package/dist/destinations/customerio/trackEvent/index.js.map +1 -1
- package/dist/destinations/customerio/trackPageView/generated-types.d.ts +2 -0
- package/dist/destinations/customerio/trackPageView/index.js +3 -1
- package/dist/destinations/customerio/trackPageView/index.js.map +1 -1
- package/dist/destinations/customerio/trackScreenView/generated-types.d.ts +2 -0
- package/dist/destinations/customerio/trackScreenView/index.js +3 -1
- package/dist/destinations/customerio/trackScreenView/index.js.map +1 -1
- package/dist/destinations/customerio/unsuppressPerson/generated-types.d.ts +2 -0
- package/dist/destinations/customerio/unsuppressPerson/index.js +3 -1
- package/dist/destinations/customerio/unsuppressPerson/index.js.map +1 -1
- package/dist/destinations/customerio/utils.js +6 -0
- package/dist/destinations/customerio/utils.js.map +1 -1
- package/dist/destinations/index.js +1 -0
- package/dist/destinations/index.js.map +1 -1
- package/dist/destinations/intercom/index.js +0 -4
- package/dist/destinations/intercom/index.js.map +1 -1
- package/dist/destinations/liveramp-audiences/audienceEnteredS3/index.js +3 -1
- package/dist/destinations/liveramp-audiences/audienceEnteredS3/index.js.map +1 -1
- package/dist/destinations/liveramp-audiences/audienceEnteredSftp/index.js +2 -0
- package/dist/destinations/liveramp-audiences/audienceEnteredSftp/index.js.map +1 -1
- package/dist/destinations/liveramp-audiences/awsClient.d.ts +1 -0
- package/dist/destinations/liveramp-audiences/awsClient.js +2 -1
- package/dist/destinations/liveramp-audiences/awsClient.js.map +1 -1
- package/dist/destinations/liveramp-audiences/properties.d.ts +1 -0
- package/dist/destinations/liveramp-audiences/properties.js +2 -1
- package/dist/destinations/liveramp-audiences/properties.js.map +1 -1
- package/dist/destinations/stackadapt-audiences/forwardAudienceEvent/functions.js +4 -2
- package/dist/destinations/stackadapt-audiences/forwardAudienceEvent/functions.js.map +1 -1
- package/dist/destinations/stackadapt-audiences/functions.d.ts +1 -1
- package/dist/destinations/stackadapt-audiences/functions.js +1 -1
- package/dist/destinations/stackadapt-audiences/functions.js.map +1 -1
- package/dist/destinations/yonoma/generated-types.d.ts +3 -0
- package/dist/destinations/yonoma/generated-types.js +3 -0
- package/dist/destinations/yonoma/generated-types.js.map +1 -0
- package/dist/destinations/yonoma/index.d.ts +4 -0
- package/dist/destinations/yonoma/index.js +47 -0
- package/dist/destinations/yonoma/index.js.map +1 -0
- package/dist/destinations/yonoma/sendEvent/constants.d.ts +1 -0
- package/dist/destinations/yonoma/sendEvent/constants.js +5 -0
- package/dist/destinations/yonoma/sendEvent/constants.js.map +1 -0
- package/dist/destinations/yonoma/sendEvent/functions.d.ts +1 -0
- package/dist/destinations/yonoma/sendEvent/functions.js +19 -0
- package/dist/destinations/yonoma/sendEvent/functions.js.map +1 -0
- package/dist/destinations/yonoma/sendEvent/generated-types.d.ts +12 -0
- package/dist/destinations/yonoma/sendEvent/generated-types.js +3 -0
- package/dist/destinations/yonoma/sendEvent/generated-types.js.map +1 -0
- package/dist/destinations/yonoma/sendEvent/index.d.ts +5 -0
- package/dist/destinations/yonoma/sendEvent/index.js +97 -0
- package/dist/destinations/yonoma/sendEvent/index.js.map +1 -0
- package/dist/destinations/yonoma/sendEvent/types.d.ts +10 -0
- package/dist/destinations/yonoma/sendEvent/types.js +3 -0
- package/dist/destinations/yonoma/sendEvent/types.js.map +1 -0
- package/dist/destinations/yonoma/trackEvent/constants.d.ts +1 -0
- package/dist/destinations/yonoma/trackEvent/constants.js +5 -0
- package/dist/destinations/yonoma/trackEvent/constants.js.map +1 -0
- package/dist/destinations/yonoma/trackEvent/generated-types.d.ts +13 -0
- package/dist/destinations/yonoma/trackEvent/generated-types.js +3 -0
- package/dist/destinations/yonoma/trackEvent/generated-types.js.map +1 -0
- package/dist/destinations/yonoma/trackEvent/index.d.ts +5 -0
- package/dist/destinations/yonoma/trackEvent/index.js +104 -0
- package/dist/destinations/yonoma/trackEvent/index.js.map +1 -0
- package/dist/destinations/yonoma/trackEvent/types.d.ts +11 -0
- package/dist/destinations/yonoma/trackEvent/types.js +3 -0
- package/dist/destinations/yonoma/trackEvent/types.js.map +1 -0
- package/dist/destinations/yonoma/trackPageView/constants.d.ts +1 -0
- package/dist/destinations/yonoma/trackPageView/constants.js +5 -0
- package/dist/destinations/yonoma/trackPageView/constants.js.map +1 -0
- package/dist/destinations/yonoma/trackPageView/generated-types.d.ts +17 -0
- package/dist/destinations/yonoma/trackPageView/generated-types.js +3 -0
- package/dist/destinations/yonoma/trackPageView/generated-types.js.map +1 -0
- package/dist/destinations/yonoma/trackPageView/index.d.ts +5 -0
- package/dist/destinations/yonoma/trackPageView/index.js +116 -0
- package/dist/destinations/yonoma/trackPageView/index.js.map +1 -0
- package/dist/destinations/yonoma/trackPageView/types.d.ts +13 -0
- package/dist/destinations/yonoma/trackPageView/types.js +3 -0
- package/dist/destinations/yonoma/trackPageView/types.js.map +1 -0
- package/dist/destinations/yonoma/upsertContact/constants.d.ts +3 -0
- package/dist/destinations/yonoma/upsertContact/constants.js +7 -0
- package/dist/destinations/yonoma/upsertContact/constants.js.map +1 -0
- package/dist/destinations/yonoma/upsertContact/functions.d.ts +1 -0
- package/dist/destinations/yonoma/upsertContact/functions.js +19 -0
- package/dist/destinations/yonoma/upsertContact/functions.js.map +1 -0
- package/dist/destinations/yonoma/upsertContact/generated-types.d.ts +22 -0
- package/dist/destinations/yonoma/upsertContact/generated-types.js +3 -0
- package/dist/destinations/yonoma/upsertContact/generated-types.js.map +1 -0
- package/dist/destinations/yonoma/upsertContact/index.d.ts +5 -0
- package/dist/destinations/yonoma/upsertContact/index.js +189 -0
- package/dist/destinations/yonoma/upsertContact/index.js.map +1 -0
- package/dist/destinations/yonoma/upsertContact/types.d.ts +24 -0
- package/dist/destinations/yonoma/upsertContact/types.js +3 -0
- package/dist/destinations/yonoma/upsertContact/types.js.map +1 -0
- package/package.json +2 -2
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const actions_core_1 = require("@segment/actions-core");
|
|
4
|
+
const constants_1 = require("./constants");
|
|
5
|
+
const action = {
|
|
6
|
+
title: 'Send Event',
|
|
7
|
+
description: 'Trigger automation based on a contact’s action within your product',
|
|
8
|
+
defaultSubscription: 'type = "track"',
|
|
9
|
+
fields: {
|
|
10
|
+
event: {
|
|
11
|
+
label: 'Event Name',
|
|
12
|
+
type: 'string',
|
|
13
|
+
description: 'The name of the event to track.',
|
|
14
|
+
required: true,
|
|
15
|
+
default: { '@path': '$.event' }
|
|
16
|
+
},
|
|
17
|
+
identifiers: {
|
|
18
|
+
label: 'Identifiers',
|
|
19
|
+
type: 'object',
|
|
20
|
+
description: 'Unique identifiers for the contact. At least one of userId or anonymousId is required.',
|
|
21
|
+
required: true,
|
|
22
|
+
additionalProperties: false,
|
|
23
|
+
properties: {
|
|
24
|
+
userId: {
|
|
25
|
+
label: 'User ID',
|
|
26
|
+
type: 'string',
|
|
27
|
+
description: 'Unique user identifier from your app.'
|
|
28
|
+
},
|
|
29
|
+
email: {
|
|
30
|
+
label: 'Email',
|
|
31
|
+
type: 'string',
|
|
32
|
+
description: "Contact's email address. Required if userId is not provided."
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
default: {
|
|
36
|
+
userId: { '@path': '$.userId' },
|
|
37
|
+
anonymousId: { '@path': '$.anonymousId' },
|
|
38
|
+
email: {
|
|
39
|
+
'@if': {
|
|
40
|
+
exists: { '@path': '$.context.traits.email' },
|
|
41
|
+
then: { '@path': '$.context.traits.email' },
|
|
42
|
+
else: { '@path': '$.properties.email' }
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
listId: {
|
|
48
|
+
label: 'List ID',
|
|
49
|
+
type: 'string',
|
|
50
|
+
description: "The Yonoma list to add the contact to.",
|
|
51
|
+
required: true,
|
|
52
|
+
default: {
|
|
53
|
+
'@if': {
|
|
54
|
+
exists: { '@path': '$.context.traits.list_id' },
|
|
55
|
+
then: { '@path': '$.context.traits.list_id' },
|
|
56
|
+
else: { '@path': '$.properties.list_id' }
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
},
|
|
60
|
+
properties: {
|
|
61
|
+
label: 'Event Properties',
|
|
62
|
+
type: 'object',
|
|
63
|
+
description: 'Additional properties associated with the event.',
|
|
64
|
+
required: false,
|
|
65
|
+
defaultObjectUI: 'keyvalue',
|
|
66
|
+
default: { '@path': '$.properties' }
|
|
67
|
+
},
|
|
68
|
+
timestamp: {
|
|
69
|
+
label: 'Timestamp',
|
|
70
|
+
type: 'string',
|
|
71
|
+
description: 'The timestamp of the event. Defaults to the current time if not provided.',
|
|
72
|
+
format: 'date-time',
|
|
73
|
+
default: { '@path': '$.timestamp' }
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
perform: async (request, { payload }) => {
|
|
77
|
+
const { event, properties, identifiers: { userId, email, } = {}, listId, timestamp } = payload;
|
|
78
|
+
if (!userId && !email) {
|
|
79
|
+
throw new actions_core_1.PayloadValidationError('At least one identifier (userId or email) is required.');
|
|
80
|
+
}
|
|
81
|
+
delete properties?.email;
|
|
82
|
+
delete properties?.list_id;
|
|
83
|
+
const json = {
|
|
84
|
+
event,
|
|
85
|
+
userId,
|
|
86
|
+
listId,
|
|
87
|
+
properties,
|
|
88
|
+
timestamp
|
|
89
|
+
};
|
|
90
|
+
return await request(constants_1.SEND_EVENT_URL, {
|
|
91
|
+
method: 'POST',
|
|
92
|
+
json
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
};
|
|
96
|
+
exports.default = action;
|
|
97
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/yonoma/sendEvent/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/destinations/yonoma/sendEvent/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const TRACK_EVENT_URL = "https://api.yonoma.io/integration/segment/trackevent";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/destinations/yonoma/trackEvent/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,eAAe,GAAG,sDAAsD,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generated-types.js","sourceRoot":"","sources":["../../../../src/destinations/yonoma/trackEvent/generated-types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const actions_core_1 = require("@segment/actions-core");
|
|
4
|
+
const constants_1 = require("./constants");
|
|
5
|
+
const action = {
|
|
6
|
+
title: 'Track Event',
|
|
7
|
+
description: 'Capture behavioral events for both known and anonymous users to build a complete activity timeline in Yonoma.',
|
|
8
|
+
defaultSubscription: 'type = "track"',
|
|
9
|
+
fields: {
|
|
10
|
+
event: {
|
|
11
|
+
label: 'Event Name',
|
|
12
|
+
type: 'string',
|
|
13
|
+
description: 'The name of the event to track.',
|
|
14
|
+
required: true,
|
|
15
|
+
default: { '@path': '$.event' }
|
|
16
|
+
},
|
|
17
|
+
identifiers: {
|
|
18
|
+
label: 'Identifiers',
|
|
19
|
+
type: 'object',
|
|
20
|
+
description: 'Unique identifiers for the contact. At least one of userId or anonymousId is required.',
|
|
21
|
+
required: true,
|
|
22
|
+
additionalProperties: false,
|
|
23
|
+
properties: {
|
|
24
|
+
userId: {
|
|
25
|
+
label: 'User ID',
|
|
26
|
+
type: 'string',
|
|
27
|
+
description: 'Unique user identifier from your app.'
|
|
28
|
+
},
|
|
29
|
+
anonymousId: {
|
|
30
|
+
label: 'Anonymous ID',
|
|
31
|
+
type: 'string',
|
|
32
|
+
description: 'Anonymous identifier from Segment for tracking pre-identified activity.'
|
|
33
|
+
},
|
|
34
|
+
email: {
|
|
35
|
+
label: 'Email',
|
|
36
|
+
type: 'string',
|
|
37
|
+
description: "Contact's email address. Required if userId is not provided."
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
default: {
|
|
41
|
+
userId: { '@path': '$.userId' },
|
|
42
|
+
anonymousId: { '@path': '$.anonymousId' },
|
|
43
|
+
email: {
|
|
44
|
+
'@if': {
|
|
45
|
+
exists: { '@path': '$.context.traits.email' },
|
|
46
|
+
then: { '@path': '$.context.traits.email' },
|
|
47
|
+
else: { '@path': '$.properties.email' }
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
listId: {
|
|
53
|
+
label: 'List ID',
|
|
54
|
+
type: 'string',
|
|
55
|
+
description: "The Yonoma list to add the contact to.",
|
|
56
|
+
required: true,
|
|
57
|
+
default: {
|
|
58
|
+
'@if': {
|
|
59
|
+
exists: { '@path': '$.context.traits.list_id' },
|
|
60
|
+
then: { '@path': '$.context.traits.list_id' },
|
|
61
|
+
else: { '@path': '$.properties.list_id' }
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
},
|
|
65
|
+
properties: {
|
|
66
|
+
label: 'Event Properties',
|
|
67
|
+
type: 'object',
|
|
68
|
+
description: 'Additional properties associated with the event.',
|
|
69
|
+
required: false,
|
|
70
|
+
defaultObjectUI: 'keyvalue',
|
|
71
|
+
default: { '@path': '$.properties' }
|
|
72
|
+
},
|
|
73
|
+
timestamp: {
|
|
74
|
+
label: 'Timestamp',
|
|
75
|
+
type: 'string',
|
|
76
|
+
description: 'The timestamp of the event. Defaults to the current time if not provided.',
|
|
77
|
+
format: 'date-time',
|
|
78
|
+
default: { '@path': '$.timestamp' }
|
|
79
|
+
}
|
|
80
|
+
},
|
|
81
|
+
perform: async (request, { payload }) => {
|
|
82
|
+
const { event, listId, properties, identifiers: { userId, email, anonymousId } = {}, timestamp } = payload;
|
|
83
|
+
if (!userId && !email && !anonymousId) {
|
|
84
|
+
throw new actions_core_1.PayloadValidationError('At least one identifier (userId, email, or anonymousId) is required.');
|
|
85
|
+
}
|
|
86
|
+
delete properties?.email;
|
|
87
|
+
delete properties?.list_id;
|
|
88
|
+
const json = {
|
|
89
|
+
event,
|
|
90
|
+
...(userId ? { userId } : {}),
|
|
91
|
+
...(anonymousId ? { anonymousId } : {}),
|
|
92
|
+
...(email ? { email } : {}),
|
|
93
|
+
listId,
|
|
94
|
+
properties,
|
|
95
|
+
timestamp
|
|
96
|
+
};
|
|
97
|
+
return await request(constants_1.TRACK_EVENT_URL, {
|
|
98
|
+
method: 'POST',
|
|
99
|
+
json
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
};
|
|
103
|
+
exports.default = action;
|
|
104
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/yonoma/trackEvent/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/destinations/yonoma/trackEvent/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const TRACK_PAGE_VIEW_URL = "https://api.yonoma.io/integration/segment/pageview";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/destinations/yonoma/trackPageView/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,mBAAmB,GAAG,oDAAoD,CAAA"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export interface Payload {
|
|
2
|
+
pageDetails: {
|
|
3
|
+
title?: string;
|
|
4
|
+
url: string;
|
|
5
|
+
referrer?: string;
|
|
6
|
+
};
|
|
7
|
+
identifiers: {
|
|
8
|
+
userId?: string;
|
|
9
|
+
anonymousId?: string;
|
|
10
|
+
email?: string;
|
|
11
|
+
};
|
|
12
|
+
listId: string;
|
|
13
|
+
properties?: {
|
|
14
|
+
[k: string]: unknown;
|
|
15
|
+
};
|
|
16
|
+
timestamp?: string;
|
|
17
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generated-types.js","sourceRoot":"","sources":["../../../../src/destinations/yonoma/trackPageView/generated-types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const actions_core_1 = require("@segment/actions-core");
|
|
4
|
+
const constants_1 = require("./constants");
|
|
5
|
+
const action = {
|
|
6
|
+
title: 'Track Page View',
|
|
7
|
+
description: 'Log page visits to build behavioral profiles and trigger view-based automations in Yonoma.',
|
|
8
|
+
defaultSubscription: 'type = "page"',
|
|
9
|
+
fields: {
|
|
10
|
+
pageDetails: {
|
|
11
|
+
label: 'Page Details',
|
|
12
|
+
type: 'object',
|
|
13
|
+
description: 'The details of the page being viewed.',
|
|
14
|
+
required: true,
|
|
15
|
+
properties: {
|
|
16
|
+
title: {
|
|
17
|
+
label: 'Page Title',
|
|
18
|
+
type: 'string',
|
|
19
|
+
description: 'Title of the page.'
|
|
20
|
+
},
|
|
21
|
+
url: {
|
|
22
|
+
label: 'Page URL',
|
|
23
|
+
type: 'string',
|
|
24
|
+
description: 'Full URL of the page visited.',
|
|
25
|
+
required: true
|
|
26
|
+
},
|
|
27
|
+
referrer: {
|
|
28
|
+
label: 'Referrer URL',
|
|
29
|
+
type: 'string',
|
|
30
|
+
description: 'URL of the referring page.'
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
default: {
|
|
34
|
+
title: { '@path': '$.context.page.title' },
|
|
35
|
+
url: { '@path': '$.context.page.url' },
|
|
36
|
+
referrer: { '@path': '$.context.page.referrer' }
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
identifiers: {
|
|
40
|
+
label: 'Identifiers',
|
|
41
|
+
type: 'object',
|
|
42
|
+
description: 'Unique identifiers for the contact. At least one of userId or anonymousId is required.',
|
|
43
|
+
required: true,
|
|
44
|
+
additionalProperties: false,
|
|
45
|
+
properties: {
|
|
46
|
+
userId: {
|
|
47
|
+
label: 'User ID',
|
|
48
|
+
type: 'string',
|
|
49
|
+
description: 'Unique user identifier from your app.'
|
|
50
|
+
},
|
|
51
|
+
anonymousId: {
|
|
52
|
+
label: 'Anonymous ID',
|
|
53
|
+
type: 'string',
|
|
54
|
+
description: 'Anonymous identifier from Segment for tracking pre-identified activity.'
|
|
55
|
+
},
|
|
56
|
+
email: {
|
|
57
|
+
label: 'Email',
|
|
58
|
+
type: 'string',
|
|
59
|
+
description: "Contact's email address. Required if userId is not provided."
|
|
60
|
+
}
|
|
61
|
+
},
|
|
62
|
+
default: {
|
|
63
|
+
userId: { '@path': '$.userId' },
|
|
64
|
+
anonymousId: { '@path': '$.anonymousId' },
|
|
65
|
+
email: { '@path': '$.traits.email' }
|
|
66
|
+
}
|
|
67
|
+
},
|
|
68
|
+
listId: {
|
|
69
|
+
label: 'List ID',
|
|
70
|
+
type: 'string',
|
|
71
|
+
description: "The Yonoma list to add the contact to.",
|
|
72
|
+
required: true,
|
|
73
|
+
default: { '@path': '$.traits.list_id' }
|
|
74
|
+
},
|
|
75
|
+
properties: {
|
|
76
|
+
label: 'Event Properties',
|
|
77
|
+
type: 'object',
|
|
78
|
+
description: 'Additional properties associated with the event.',
|
|
79
|
+
required: false,
|
|
80
|
+
defaultObjectUI: 'keyvalue',
|
|
81
|
+
default: { '@path': '$.properties' }
|
|
82
|
+
},
|
|
83
|
+
timestamp: {
|
|
84
|
+
label: 'Timestamp',
|
|
85
|
+
type: 'string',
|
|
86
|
+
description: 'The timestamp of the event. Defaults to the current time if not provided.',
|
|
87
|
+
format: 'date-time',
|
|
88
|
+
default: { '@path': '$.timestamp' }
|
|
89
|
+
}
|
|
90
|
+
},
|
|
91
|
+
perform: async (request, { payload }) => {
|
|
92
|
+
const { pageDetails: { title, url, referrer } = {}, listId, properties, identifiers: { userId, email, anonymousId } = {}, timestamp } = payload;
|
|
93
|
+
if (!userId && !email && !anonymousId) {
|
|
94
|
+
throw new actions_core_1.PayloadValidationError('At least one identifier (userId, email, or anonymousId) is required.');
|
|
95
|
+
}
|
|
96
|
+
delete properties?.email;
|
|
97
|
+
delete properties?.list_id;
|
|
98
|
+
const json = {
|
|
99
|
+
url: url,
|
|
100
|
+
...(referrer ? { referrer } : {}),
|
|
101
|
+
...(title ? { title } : {}),
|
|
102
|
+
...(userId ? { userId } : {}),
|
|
103
|
+
...(anonymousId ? { anonymousId } : {}),
|
|
104
|
+
...(email ? { email } : {}),
|
|
105
|
+
listId,
|
|
106
|
+
properties,
|
|
107
|
+
timestamp
|
|
108
|
+
};
|
|
109
|
+
return await request(constants_1.TRACK_PAGE_VIEW_URL, {
|
|
110
|
+
method: 'POST',
|
|
111
|
+
json
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
};
|
|
115
|
+
exports.default = action;
|
|
116
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/yonoma/trackPageView/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export interface TrackPageEventJSON {
|
|
2
|
+
url: string;
|
|
3
|
+
title?: string;
|
|
4
|
+
referrer?: string;
|
|
5
|
+
userId?: string;
|
|
6
|
+
anonymousId?: string;
|
|
7
|
+
email?: string;
|
|
8
|
+
listId: string;
|
|
9
|
+
properties?: {
|
|
10
|
+
[key: string]: unknown;
|
|
11
|
+
};
|
|
12
|
+
timestamp?: string | number;
|
|
13
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/destinations/yonoma/trackPageView/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export declare const UPSERT_CONTACT_URL = "https://api.yonoma.io/integration/segment/upsertcontact";
|
|
2
|
+
export declare const TAG_CONTACT_URL = "https://api.yonoma.io/integration/segment/tagcontact";
|
|
3
|
+
export declare const UNTAG_CONTACT_URL = "https://api.yonoma.io/integration/segment/untagcontact";
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.UNTAG_CONTACT_URL = exports.TAG_CONTACT_URL = exports.UPSERT_CONTACT_URL = void 0;
|
|
4
|
+
exports.UPSERT_CONTACT_URL = 'https://api.yonoma.io/integration/segment/upsertcontact';
|
|
5
|
+
exports.TAG_CONTACT_URL = 'https://api.yonoma.io/integration/segment/tagcontact';
|
|
6
|
+
exports.UNTAG_CONTACT_URL = 'https://api.yonoma.io/integration/segment/untagcontact';
|
|
7
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/destinations/yonoma/upsertContact/constants.ts"],"names":[],"mappings":";;;AAEa,QAAA,kBAAkB,GAAG,yDAAyD,CAAA;AAC9E,QAAA,eAAe,GAAG,sDAAsD,CAAA;AACxE,QAAA,iBAAiB,GAAG,wDAAwD,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function formatDate(input: string): string;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.formatDate = formatDate;
|
|
4
|
+
const actions_core_1 = require("@segment/actions-core");
|
|
5
|
+
function formatDate(input) {
|
|
6
|
+
const ymdRegex = /^\d{4}-\d{2}-\d{2}$/;
|
|
7
|
+
if (ymdRegex.test(input)) {
|
|
8
|
+
return input;
|
|
9
|
+
}
|
|
10
|
+
const date = new Date(input);
|
|
11
|
+
if (isNaN(date.getTime())) {
|
|
12
|
+
throw new actions_core_1.PayloadValidationError(`Invalid date string: ${input}`);
|
|
13
|
+
}
|
|
14
|
+
const year = date.getFullYear();
|
|
15
|
+
const month = String(date.getMonth() + 1).padStart(2, '0');
|
|
16
|
+
const day = String(date.getDate()).padStart(2, '0');
|
|
17
|
+
return `${year}-${month}-${day}`;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=functions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"functions.js","sourceRoot":"","sources":["../../../../src/destinations/yonoma/upsertContact/functions.ts"],"names":[],"mappings":";;AAEA,gCAiBC;AAnBD,wDAA8D;AAE9D,SAAgB,UAAU,CAAC,KAAa;IACtC,MAAM,QAAQ,GAAG,qBAAqB,CAAA;IACtC,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAA;IACd,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAA;IAE5B,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,qCAAsB,CAAC,wBAAwB,KAAK,EAAE,CAAC,CAAA;IACnE,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAA;IAC/B,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IAC1D,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IAEnD,OAAO,GAAG,IAAI,IAAI,KAAK,IAAI,GAAG,EAAE,CAAA;AAClC,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export interface Payload {
|
|
2
|
+
identifiers: {
|
|
3
|
+
userId?: string;
|
|
4
|
+
anonymousId?: string;
|
|
5
|
+
email?: string;
|
|
6
|
+
};
|
|
7
|
+
listId: string;
|
|
8
|
+
properties?: {
|
|
9
|
+
firstName?: string;
|
|
10
|
+
lastName?: string;
|
|
11
|
+
phone?: string;
|
|
12
|
+
dateOfBirth?: string;
|
|
13
|
+
address?: string;
|
|
14
|
+
city?: string;
|
|
15
|
+
state?: string;
|
|
16
|
+
country?: string;
|
|
17
|
+
zipcode?: string;
|
|
18
|
+
};
|
|
19
|
+
status: boolean;
|
|
20
|
+
tags_to_add?: string[];
|
|
21
|
+
tags_to_remove?: string[];
|
|
22
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generated-types.js","sourceRoot":"","sources":["../../../../src/destinations/yonoma/upsertContact/generated-types.ts"],"names":[],"mappings":""}
|