@segment/action-destinations 3.73.0 → 3.74.1-alpha.1
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/gainsight-px-cloud-action/index.js +30 -36
- package/dist/destinations/gainsight-px-cloud-action/index.js.map +1 -1
- package/dist/destinations/gainsight-px-cloud-action/regional-endpoints.js +3 -3
- package/dist/destinations/gainsight-px-cloud-action/regional-endpoints.js.map +1 -1
- package/dist/destinations/gainsight-px-cloud-action/sendEvent/generated-types.d.ts +5 -0
- package/dist/destinations/gainsight-px-cloud-action/{groupIdentify → sendEvent}/generated-types.js +0 -0
- package/dist/destinations/gainsight-px-cloud-action/sendEvent/generated-types.js.map +1 -0
- package/dist/destinations/gainsight-px-cloud-action/{identifyUser → sendEvent}/index.d.ts +0 -0
- package/dist/destinations/gainsight-px-cloud-action/{groupIdentify → sendEvent}/index.js +5 -5
- package/dist/destinations/gainsight-px-cloud-action/sendEvent/index.js.map +1 -0
- package/dist/destinations/snap-conversions-api/index.js +1 -1
- package/dist/destinations/talon-one/t1-properties.js +10 -4
- package/dist/destinations/talon-one/t1-properties.js.map +1 -1
- package/dist/destinations/talon-one/trackEvent/index.js +10 -2
- package/dist/destinations/talon-one/trackEvent/index.js.map +1 -1
- package/dist/destinations/talon-one/updateCustomerProfile/index.js +1 -1
- package/dist/destinations/talon-one/updateCustomerProfile/index.js.map +1 -1
- package/package.json +2 -2
- package/dist/destinations/gainsight-px-cloud-action/groupIdentify/generated-types.d.ts +0 -2
- package/dist/destinations/gainsight-px-cloud-action/groupIdentify/generated-types.js.map +0 -1
- package/dist/destinations/gainsight-px-cloud-action/groupIdentify/index.d.ts +0 -5
- package/dist/destinations/gainsight-px-cloud-action/groupIdentify/index.js.map +0 -1
- package/dist/destinations/gainsight-px-cloud-action/identifyUser/generated-types.d.ts +0 -2
- package/dist/destinations/gainsight-px-cloud-action/identifyUser/generated-types.js +0 -3
- package/dist/destinations/gainsight-px-cloud-action/identifyUser/generated-types.js.map +0 -1
- package/dist/destinations/gainsight-px-cloud-action/identifyUser/index.js +0 -17
- package/dist/destinations/gainsight-px-cloud-action/identifyUser/index.js.map +0 -1
- package/dist/destinations/gainsight-px-cloud-action/trackEvent/generated-types.d.ts +0 -2
- package/dist/destinations/gainsight-px-cloud-action/trackEvent/generated-types.js +0 -3
- package/dist/destinations/gainsight-px-cloud-action/trackEvent/generated-types.js.map +0 -1
- package/dist/destinations/gainsight-px-cloud-action/trackEvent/index.d.ts +0 -5
- package/dist/destinations/gainsight-px-cloud-action/trackEvent/index.js +0 -17
- package/dist/destinations/gainsight-px-cloud-action/trackEvent/index.js.map +0 -1
- package/dist/destinations/gainsight-px-cloud-action/trackPageView/generated-types.d.ts +0 -2
- package/dist/destinations/gainsight-px-cloud-action/trackPageView/generated-types.js +0 -3
- package/dist/destinations/gainsight-px-cloud-action/trackPageView/generated-types.js.map +0 -1
- package/dist/destinations/gainsight-px-cloud-action/trackPageView/index.d.ts +0 -5
- package/dist/destinations/gainsight-px-cloud-action/trackPageView/index.js +0 -17
- package/dist/destinations/gainsight-px-cloud-action/trackPageView/index.js.map +0 -1
- package/dist/destinations/personas-messaging-sendgrid/generated-types.d.ts +0 -8
- package/dist/destinations/personas-messaging-sendgrid/generated-types.js +0 -3
- package/dist/destinations/personas-messaging-sendgrid/generated-types.js.map +0 -1
- package/dist/destinations/personas-messaging-sendgrid/index.d.ts +0 -4
- package/dist/destinations/personas-messaging-sendgrid/index.js +0 -59
- package/dist/destinations/personas-messaging-sendgrid/index.js.map +0 -1
- package/dist/destinations/personas-messaging-sendgrid/sendEmail/generated-types.d.ts +0 -26
- package/dist/destinations/personas-messaging-sendgrid/sendEmail/generated-types.js +0 -3
- package/dist/destinations/personas-messaging-sendgrid/sendEmail/generated-types.js.map +0 -1
- package/dist/destinations/personas-messaging-sendgrid/sendEmail/index.d.ts +0 -5
- package/dist/destinations/personas-messaging-sendgrid/sendEmail/index.js +0 -310
- package/dist/destinations/personas-messaging-sendgrid/sendEmail/index.js.map +0 -1
- package/dist/destinations/personas-messaging-twilio/generated-types.d.ts +0 -11
- package/dist/destinations/personas-messaging-twilio/generated-types.js +0 -3
- package/dist/destinations/personas-messaging-twilio/generated-types.js.map +0 -1
- package/dist/destinations/personas-messaging-twilio/index.d.ts +0 -4
- package/dist/destinations/personas-messaging-twilio/index.js +0 -150
- package/dist/destinations/personas-messaging-twilio/index.js.map +0 -1
- package/dist/destinations/personas-messaging-twilio/sendSms/generated-types.d.ts +0 -16
- package/dist/destinations/personas-messaging-twilio/sendSms/generated-types.js +0 -3
- package/dist/destinations/personas-messaging-twilio/sendSms/generated-types.js.map +0 -1
- package/dist/destinations/personas-messaging-twilio/sendSms/index.d.ts +0 -5
- package/dist/destinations/personas-messaging-twilio/sendSms/index.js +0 -166
- package/dist/destinations/personas-messaging-twilio/sendSms/index.js.map +0 -1
|
@@ -1,166 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const liquidjs_1 = require("liquidjs");
|
|
4
|
-
const actions_core_1 = require("@segment/actions-core");
|
|
5
|
-
const Liquid = new liquidjs_1.Liquid();
|
|
6
|
-
const getProfileApiEndpoint = (environment) => {
|
|
7
|
-
return `https://profiles.segment.${environment === 'production' ? 'com' : 'build'}`;
|
|
8
|
-
};
|
|
9
|
-
const fetchProfileTraits = async (request, settings, profileId) => {
|
|
10
|
-
const endpoint = getProfileApiEndpoint(settings.profileApiEnvironment);
|
|
11
|
-
const response = await request(`${endpoint}/v1/spaces/${settings.spaceId}/collections/users/profiles/user_id:${profileId}/traits?limit=200`, {
|
|
12
|
-
headers: {
|
|
13
|
-
authorization: `Basic ${Buffer.from(settings.profileApiAccessToken + ':').toString('base64')}`,
|
|
14
|
-
'content-type': 'application/json'
|
|
15
|
-
}
|
|
16
|
-
});
|
|
17
|
-
const body = await response.json();
|
|
18
|
-
return body.traits;
|
|
19
|
-
};
|
|
20
|
-
const EXTERNAL_ID_KEY = 'phone';
|
|
21
|
-
const DEFAULT_CONNECTION_OVERRIDES = 'rp=all&rc=5';
|
|
22
|
-
const action = {
|
|
23
|
-
title: 'Send SMS',
|
|
24
|
-
description: 'Send SMS using Twilio',
|
|
25
|
-
defaultSubscription: 'type = "track" and event = "Audience Entered"',
|
|
26
|
-
fields: {
|
|
27
|
-
userId: {
|
|
28
|
-
label: 'User ID',
|
|
29
|
-
description: 'User ID in Segment',
|
|
30
|
-
type: 'string',
|
|
31
|
-
required: true,
|
|
32
|
-
default: { '@path': '$.userId' }
|
|
33
|
-
},
|
|
34
|
-
toNumber: {
|
|
35
|
-
label: 'Test Number',
|
|
36
|
-
description: 'Number to send SMS to when testing',
|
|
37
|
-
type: 'string'
|
|
38
|
-
},
|
|
39
|
-
from: {
|
|
40
|
-
label: 'From',
|
|
41
|
-
description: 'The Twilio Phone Number, Short Code, or Messaging Service to send SMS from.',
|
|
42
|
-
type: 'string',
|
|
43
|
-
required: true
|
|
44
|
-
},
|
|
45
|
-
body: {
|
|
46
|
-
label: 'Message',
|
|
47
|
-
description: 'Message to send',
|
|
48
|
-
type: 'text',
|
|
49
|
-
required: true
|
|
50
|
-
},
|
|
51
|
-
customArgs: {
|
|
52
|
-
label: 'Custom Arguments',
|
|
53
|
-
description: 'Additional custom arguments that will be opaquely sent back on webhook events',
|
|
54
|
-
type: 'object',
|
|
55
|
-
required: false
|
|
56
|
-
},
|
|
57
|
-
connectionOverrides: {
|
|
58
|
-
label: 'Connection Overrides',
|
|
59
|
-
description: 'Connection overrides are configuration supported by twilio webhook services. Must be passed as fragments on the callback url',
|
|
60
|
-
type: 'string',
|
|
61
|
-
required: false
|
|
62
|
-
},
|
|
63
|
-
send: {
|
|
64
|
-
label: 'Send Message',
|
|
65
|
-
description: 'Whether or not the message should actually get sent.',
|
|
66
|
-
type: 'boolean',
|
|
67
|
-
required: false,
|
|
68
|
-
default: false
|
|
69
|
-
},
|
|
70
|
-
externalIds: {
|
|
71
|
-
label: 'External IDs',
|
|
72
|
-
description: 'An array of user profile identity information.',
|
|
73
|
-
type: 'object',
|
|
74
|
-
multiple: true,
|
|
75
|
-
properties: {
|
|
76
|
-
id: {
|
|
77
|
-
label: 'ID',
|
|
78
|
-
description: 'A unique identifier for the collection.',
|
|
79
|
-
type: 'string'
|
|
80
|
-
},
|
|
81
|
-
type: {
|
|
82
|
-
label: 'type',
|
|
83
|
-
description: 'The external ID contact type.',
|
|
84
|
-
type: 'string'
|
|
85
|
-
},
|
|
86
|
-
subscriptionStatus: {
|
|
87
|
-
label: 'ID',
|
|
88
|
-
description: 'The subscription status for the identity.',
|
|
89
|
-
type: 'string'
|
|
90
|
-
}
|
|
91
|
-
},
|
|
92
|
-
default: {
|
|
93
|
-
'@arrayPath': [
|
|
94
|
-
'$.external_ids',
|
|
95
|
-
{
|
|
96
|
-
id: {
|
|
97
|
-
'@path': '$.id'
|
|
98
|
-
},
|
|
99
|
-
type: {
|
|
100
|
-
'@path': '$.type'
|
|
101
|
-
},
|
|
102
|
-
subscriptionStatus: {
|
|
103
|
-
'@path': '$.isSubscribed'
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
]
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
},
|
|
110
|
-
perform: async (request, { settings, payload }) => {
|
|
111
|
-
if (!payload.send) {
|
|
112
|
-
return;
|
|
113
|
-
}
|
|
114
|
-
const externalId = payload.externalIds?.find(({ type }) => type === 'phone');
|
|
115
|
-
if (!externalId?.subscriptionStatus ||
|
|
116
|
-
['unsubscribed', 'did not subscribed', 'false'].includes(externalId.subscriptionStatus)) {
|
|
117
|
-
return;
|
|
118
|
-
}
|
|
119
|
-
else if (['subscribed', 'true'].includes(externalId.subscriptionStatus)) {
|
|
120
|
-
const traits = await fetchProfileTraits(request, settings, payload.userId);
|
|
121
|
-
const phone = payload.toNumber || externalId.id;
|
|
122
|
-
if (!phone) {
|
|
123
|
-
return;
|
|
124
|
-
}
|
|
125
|
-
const profile = {
|
|
126
|
-
user_id: payload.userId,
|
|
127
|
-
phone,
|
|
128
|
-
traits
|
|
129
|
-
};
|
|
130
|
-
const token = Buffer.from(`${settings.twilioApiKeySID}:${settings.twilioApiKeySecret}`).toString('base64');
|
|
131
|
-
const parsedBody = await Liquid.parseAndRender(payload.body, { profile });
|
|
132
|
-
const body = new URLSearchParams({
|
|
133
|
-
Body: parsedBody,
|
|
134
|
-
From: payload.from,
|
|
135
|
-
To: phone
|
|
136
|
-
});
|
|
137
|
-
const webhookUrl = settings.webhookUrl;
|
|
138
|
-
const connectionOverrides = settings.connectionOverrides;
|
|
139
|
-
const customArgs = {
|
|
140
|
-
...payload.customArgs,
|
|
141
|
-
__segment_internal_external_id_key__: EXTERNAL_ID_KEY,
|
|
142
|
-
__segment_internal_external_id_value__: phone
|
|
143
|
-
};
|
|
144
|
-
if (webhookUrl && customArgs) {
|
|
145
|
-
const webhookUrlWithParams = new URL(webhookUrl);
|
|
146
|
-
for (const key of Object.keys(customArgs)) {
|
|
147
|
-
webhookUrlWithParams.searchParams.append(key, String(customArgs[key]));
|
|
148
|
-
}
|
|
149
|
-
webhookUrlWithParams.hash = connectionOverrides || DEFAULT_CONNECTION_OVERRIDES;
|
|
150
|
-
body.append('StatusCallback', webhookUrlWithParams.toString());
|
|
151
|
-
}
|
|
152
|
-
return request(`https://api.twilio.com/2010-04-01/Accounts/${settings.twilioAccountSID}/Messages.json`, {
|
|
153
|
-
method: 'POST',
|
|
154
|
-
headers: {
|
|
155
|
-
authorization: `Basic ${token}`
|
|
156
|
-
},
|
|
157
|
-
body
|
|
158
|
-
});
|
|
159
|
-
}
|
|
160
|
-
else {
|
|
161
|
-
throw new actions_core_1.IntegrationError(`Failed to recognize the subscriptionStatus in the payload: "${externalId.subscriptionStatus}".`, 'Invalid subscriptionStatus value', 400);
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
};
|
|
165
|
-
exports.default = action;
|
|
166
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/destinations/personas-messaging-twilio/sendSms/index.ts"],"names":[],"mappings":"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"}
|