@activepieces/piece-twilio 0.3.0 → 0.3.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/package.json +13 -9
- package/src/index.d.ts +2 -2
- package/src/index.js +12 -3
- package/src/index.js.map +1 -1
- package/src/lib/action/send-sms.d.ts +1 -1
- package/src/lib/action/send-sms.js +2 -2
- package/src/lib/action/send-sms.js.map +1 -1
- package/src/lib/common/index.d.ts +1 -1
- package/src/lib/common/index.js +3 -3
- package/src/lib/common/index.js.map +1 -1
- package/src/lib/trigger/new-incoming-sms.d.ts +6 -2
- package/src/lib/trigger/new-incoming-sms.js +31 -30
- package/src/lib/trigger/new-incoming-sms.js.map +1 -1
package/package.json
CHANGED
|
@@ -1,15 +1,19 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@activepieces/piece-twilio",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.1",
|
|
4
4
|
"dependencies": {
|
|
5
|
-
"@sinclair/typebox": "
|
|
6
|
-
"axios": "1.
|
|
7
|
-
"
|
|
8
|
-
"
|
|
9
|
-
"
|
|
10
|
-
"
|
|
11
|
-
"
|
|
5
|
+
"@sinclair/typebox": "0.26.8",
|
|
6
|
+
"axios": "^1.6.3",
|
|
7
|
+
"dayjs": "1.11.9",
|
|
8
|
+
"is-base64": "1.1.0",
|
|
9
|
+
"lodash": "4.17.21",
|
|
10
|
+
"nanoid": "3.3.6",
|
|
11
|
+
"semver": "7.5.4",
|
|
12
|
+
"@activepieces/pieces-common": "0.2.8",
|
|
13
|
+
"@activepieces/pieces-framework": "0.7.14",
|
|
14
|
+
"@activepieces/shared": "0.10.66",
|
|
15
|
+
"tslib": "2.6.1"
|
|
12
16
|
},
|
|
13
17
|
"main": "./src/index.js",
|
|
14
|
-
"
|
|
18
|
+
"type": "commonjs"
|
|
15
19
|
}
|
package/src/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const twilioAuth: import("@activepieces/pieces-framework").BasicAuthProperty
|
|
2
|
-
export declare const twilio: import("@activepieces/pieces-framework").Piece<import("@activepieces/pieces-framework").BasicAuthProperty
|
|
1
|
+
export declare const twilioAuth: import("@activepieces/pieces-framework").BasicAuthProperty;
|
|
2
|
+
export declare const twilio: import("@activepieces/pieces-framework").Piece<import("@activepieces/pieces-framework").BasicAuthProperty>;
|
package/src/index.js
CHANGED
|
@@ -4,9 +4,9 @@ exports.twilio = exports.twilioAuth = void 0;
|
|
|
4
4
|
const pieces_framework_1 = require("@activepieces/pieces-framework");
|
|
5
5
|
const send_sms_1 = require("./lib/action/send-sms");
|
|
6
6
|
const new_incoming_sms_1 = require("./lib/trigger/new-incoming-sms");
|
|
7
|
+
const pieces_common_1 = require("@activepieces/pieces-common");
|
|
7
8
|
exports.twilioAuth = pieces_framework_1.PieceAuth.BasicAuth({
|
|
8
9
|
description: 'The authentication to use to connect to Twilio',
|
|
9
|
-
displayName: 'Authentication',
|
|
10
10
|
required: true,
|
|
11
11
|
username: {
|
|
12
12
|
displayName: 'Account SID',
|
|
@@ -15,14 +15,23 @@ exports.twilioAuth = pieces_framework_1.PieceAuth.BasicAuth({
|
|
|
15
15
|
password: {
|
|
16
16
|
displayName: 'Auth token',
|
|
17
17
|
description: 'The auth token to use to connect to Twilio',
|
|
18
|
-
}
|
|
18
|
+
},
|
|
19
19
|
});
|
|
20
20
|
exports.twilio = (0, pieces_framework_1.createPiece)({
|
|
21
21
|
displayName: 'Twilio',
|
|
22
22
|
minimumSupportedRelease: '0.5.0',
|
|
23
23
|
logoUrl: 'https://cdn.activepieces.com/pieces/twilio.png',
|
|
24
24
|
auth: exports.twilioAuth,
|
|
25
|
-
actions: [
|
|
25
|
+
actions: [
|
|
26
|
+
send_sms_1.twilioSendSms,
|
|
27
|
+
(0, pieces_common_1.createCustomApiCallAction)({
|
|
28
|
+
baseUrl: () => 'https://api.twilio.com/2010-04-01',
|
|
29
|
+
auth: exports.twilioAuth,
|
|
30
|
+
authMapping: (auth) => ({
|
|
31
|
+
Authorization: `Basic ${Buffer.from(`${auth.username}:${auth.password}`).toString('base64')}`,
|
|
32
|
+
}),
|
|
33
|
+
}),
|
|
34
|
+
],
|
|
26
35
|
authors: ['abuaboud'],
|
|
27
36
|
triggers: [new_incoming_sms_1.twilioNewIncomingSms],
|
|
28
37
|
});
|
package/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/pieces/community/twilio/src/index.ts"],"names":[],"mappings":";;;AAAA,qEAAwE;AACxE,oDAAsD;AACtD,qEAAsE;AACtE,+DAAwE;AAE3D,QAAA,UAAU,GAAG,4BAAS,CAAC,SAAS,CAAC;IAC5C,WAAW,EAAE,gDAAgD;IAE7D,QAAQ,EAAE,IAAI;IACd,QAAQ,EAAE;QACR,WAAW,EAAE,aAAa;QAC1B,WAAW,EAAE,6CAA6C;KAC3D;IACD,QAAQ,EAAE;QACR,WAAW,EAAE,YAAY;QACzB,WAAW,EAAE,4CAA4C;KAC1D;CACF,CAAC,CAAC;AAEU,QAAA,MAAM,GAAG,IAAA,8BAAW,EAAC;IAChC,WAAW,EAAE,QAAQ;IACrB,uBAAuB,EAAE,OAAO;IAChC,OAAO,EAAE,gDAAgD;IACzD,IAAI,EAAE,kBAAU;IAChB,OAAO,EAAE;QACP,wBAAa;QACb,IAAA,yCAAyB,EAAC;YACxB,OAAO,EAAE,GAAG,EAAE,CAAC,mCAAmC;YAClD,IAAI,EAAE,kBAAU;YAChB,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACtB,aAAa,EAAE,SAAS,MAAM,CAAC,IAAI,CACjC,GAAI,IAA6B,CAAC,QAAQ,IACvC,IAA6B,CAAC,QACjC,EAAE,CACH,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;aACvB,CAAC;SACH,CAAC;KACH;IACD,OAAO,EAAE,CAAC,UAAU,CAAC;IACrB,QAAQ,EAAE,CAAC,uCAAoB,CAAC;CACjC,CAAC,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare const twilioSendSms: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").BasicAuthProperty
|
|
1
|
+
export declare const twilioSendSms: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").BasicAuthProperty, {
|
|
2
2
|
from: import("@activepieces/pieces-framework").DropdownProperty<any, true>;
|
|
3
3
|
body: import("@activepieces/pieces-framework").ShortTextProperty<true>;
|
|
4
4
|
to: import("@activepieces/pieces-framework").ShortTextProperty<true>;
|
|
@@ -22,7 +22,7 @@ exports.twilioSendSms = (0, pieces_framework_1.createAction)({
|
|
|
22
22
|
description: 'The phone number to send the message to',
|
|
23
23
|
displayName: 'To',
|
|
24
24
|
required: true,
|
|
25
|
-
})
|
|
25
|
+
}),
|
|
26
26
|
},
|
|
27
27
|
run(context) {
|
|
28
28
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
@@ -35,6 +35,6 @@ exports.twilioSendSms = (0, pieces_framework_1.createAction)({
|
|
|
35
35
|
To: to,
|
|
36
36
|
});
|
|
37
37
|
});
|
|
38
|
-
}
|
|
38
|
+
},
|
|
39
39
|
});
|
|
40
40
|
//# sourceMappingURL=send-sms.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"send-sms.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"send-sms.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/twilio/src/lib/action/send-sms.ts"],"names":[],"mappings":";;;;AAAA,qEAAwE;AACxE,+DAAyD;AACzD,sCAAwD;AACxD,6BAAmC;AAEtB,QAAA,aAAa,GAAG,IAAA,+BAAY,EAAC;IACxC,IAAI,EAAE,cAAU;IAChB,IAAI,EAAE,UAAU;IAChB,WAAW,EAAE,wBAAwB;IACrC,WAAW,EAAE,UAAU;IACvB,KAAK,EAAE;QACL,IAAI,EAAE,qBAAY,CAAC,YAAY;QAC/B,IAAI,EAAE,2BAAQ,CAAC,SAAS,CAAC;YACvB,WAAW,EAAE,iCAAiC;YAC9C,WAAW,EAAE,cAAc;YAC3B,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,EAAE,EAAE,2BAAQ,CAAC,SAAS,CAAC;YACrB,WAAW,EAAE,yCAAyC;YACtD,WAAW,EAAE,IAAI;YACjB,QAAQ,EAAE,IAAI;SACf,CAAC;KACH;IACK,GAAG,CAAC,OAAO;;YACf,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC;YAC9C,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC;YAC1C,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC;YACzC,OAAO,MAAM,IAAA,sBAAa,EACxB,0BAAU,CAAC,IAAI,EACf,eAAe,EACf,EAAE,WAAW,EAAE,UAAU,EAAE,EAC3B;gBACE,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,IAAI;gBACV,EAAE,EAAE,EAAE;aACP,CACF,CAAC;QACJ,CAAC;KAAA;CACF,CAAC,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { HttpMethod, HttpMessageBody } from
|
|
1
|
+
import { HttpMethod, HttpMessageBody } from '@activepieces/pieces-common';
|
|
2
2
|
export declare const twilioCommon: {
|
|
3
3
|
phone_number: import("@activepieces/pieces-framework").DropdownProperty<any, true>;
|
|
4
4
|
};
|
package/src/lib/common/index.js
CHANGED
|
@@ -21,7 +21,7 @@ exports.twilioCommon = {
|
|
|
21
21
|
const basicAuthProperty = auth;
|
|
22
22
|
const response = yield (0, exports.callTwilioApi)(pieces_common_1.HttpMethod.GET, 'IncomingPhoneNumbers.json', {
|
|
23
23
|
account_sid: basicAuthProperty.username,
|
|
24
|
-
auth_token: basicAuthProperty.password
|
|
24
|
+
auth_token: basicAuthProperty.password,
|
|
25
25
|
});
|
|
26
26
|
return {
|
|
27
27
|
disabled: false,
|
|
@@ -30,8 +30,8 @@ exports.twilioCommon = {
|
|
|
30
30
|
label: number.friendly_name,
|
|
31
31
|
})),
|
|
32
32
|
};
|
|
33
|
-
})
|
|
34
|
-
})
|
|
33
|
+
}),
|
|
34
|
+
}),
|
|
35
35
|
};
|
|
36
36
|
const callTwilioApi = (method, path, auth, body) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
37
37
|
return yield pieces_common_1.httpClient.sendRequest({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/twilio/src/lib/common/index.ts"],"names":[],"mappings":";;;;AAAA,qEAGwC;AACxC,+DAKqC;AAExB,QAAA,YAAY,GAAG;IAC1B,YAAY,EAAE,2BAAQ,CAAC,QAAQ,CAAC;QAC9B,WAAW,EAAE,2CAA2C;QACxD,WAAW,EAAE,MAAM;QACnB,QAAQ,EAAE,IAAI;QACd,UAAU,EAAE,EAAE;QACd,OAAO,EAAE,CAAO,EAAE,IAAI,EAAE,EAAE,EAAE;YAC1B,IAAI,CAAC,IAAI,EAAE;gBACT,OAAO;oBACL,QAAQ,EAAE,IAAI;oBACd,WAAW,EAAE,4BAA4B;oBACzC,OAAO,EAAE,EAAE;iBACZ,CAAC;aACH;YAED,MAAM,iBAAiB,GAAG,IAA8B,CAAC;YACzD,MAAM,QAAQ,GAAG,MAAM,IAAA,qBAAa,EAKjC,0BAAU,CAAC,GAAG,EAAE,2BAA2B,EAAE;gBAC9C,WAAW,EAAE,iBAAiB,CAAC,QAAQ;gBACvC,UAAU,EAAE,iBAAiB,CAAC,QAAQ;aACvC,CAAC,CAAC;YACH,OAAO;gBACL,QAAQ,EAAE,KAAK;gBACf,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,MAAW,EAAE,EAAE,CAAC,CAAC;oBAClE,KAAK,EAAE,MAAM,CAAC,YAAY;oBAC1B,KAAK,EAAE,MAAM,CAAC,aAAa;iBAC5B,CAAC,CAAC;aACJ,CAAC;QACJ,CAAC,CAAA;KACF,CAAC;CACH,CAAC;AAEK,MAAM,aAAa,GAAG,CAC3B,MAAkB,EAClB,IAAY,EACZ,IAAiD,EACjD,IAAU,EACV,EAAE;IACF,OAAO,MAAM,0BAAU,CAAC,WAAW,CAAI;QACrC,MAAM;QACN,GAAG,EAAE,8CAA8C,IAAI,CAAC,WAAW,IAAI,IAAI,EAAE;QAC7E,cAAc,EAAE;YACd,IAAI,EAAE,kCAAkB,CAAC,KAAK;YAC9B,QAAQ,EAAE,IAAI,CAAC,WAAW;YAC1B,QAAQ,EAAE,IAAI,CAAC,UAAU;SAC1B;QACD,OAAO,EAAE;YACP,cAAc,EAAE,mCAAmC;SACpD;QACD,IAAI,EAAE,IAAI;KACX,CAAC,CAAC;AACL,CAAC,CAAA,CAAC;AAnBW,QAAA,aAAa,iBAmBxB"}
|
|
@@ -1,4 +1,8 @@
|
|
|
1
|
-
import { TriggerStrategy } from
|
|
2
|
-
export declare const twilioNewIncomingSms: import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.
|
|
1
|
+
import { TriggerStrategy } from '@activepieces/pieces-framework';
|
|
2
|
+
export declare const twilioNewIncomingSms: import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.WEBHOOK, import("@activepieces/pieces-framework").BasicAuthProperty, {
|
|
3
|
+
phone_number: import("@activepieces/pieces-framework").DropdownProperty<any, true>;
|
|
4
|
+
}> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.POLLING, import("@activepieces/pieces-framework").BasicAuthProperty, {
|
|
5
|
+
phone_number: import("@activepieces/pieces-framework").DropdownProperty<any, true>;
|
|
6
|
+
}> | import("@activepieces/pieces-framework").ITrigger<TriggerStrategy.APP_WEBHOOK, import("@activepieces/pieces-framework").BasicAuthProperty, {
|
|
3
7
|
phone_number: import("@activepieces/pieces-framework").DropdownProperty<any, true>;
|
|
4
8
|
}>;
|
|
@@ -15,29 +15,29 @@ exports.twilioNewIncomingSms = (0, pieces_framework_1.createTrigger)({
|
|
|
15
15
|
phone_number: common_1.twilioCommon.phone_number,
|
|
16
16
|
},
|
|
17
17
|
sampleData: {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
}
|
|
18
|
+
body: 'Hello',
|
|
19
|
+
num_segments: '1',
|
|
20
|
+
direction: 'inbound',
|
|
21
|
+
from: '+12184191735',
|
|
22
|
+
date_updated: 'Wed, 08 Feb 2023 01:40:51 +0000',
|
|
23
|
+
price: null,
|
|
24
|
+
error_message: null,
|
|
25
|
+
uri: '/2010-04-01/Accounts/ACc0ea1238d61fe90d78a69a3de71d45619/Messages/SM8c3920d3f2ac481ba83e639a69dadd63.json',
|
|
26
|
+
account_sid: 'ACc0ea716d61fe90d78a123a3de71d45619',
|
|
27
|
+
num_media: '0',
|
|
28
|
+
to: '+12184191735',
|
|
29
|
+
date_created: 'Wed, 08 Feb 2023 01:40:50 +0000',
|
|
30
|
+
status: 'failed',
|
|
31
|
+
sid: 'SM8c3920d3f2ac481ba83e639a69dadd63',
|
|
32
|
+
date_sent: 'Wed, 08 Feb 2023 01:40:51 +0000',
|
|
33
|
+
messaging_service_sid: 'MG88e323e6a88ce67ba3bf12e1bcb7e0b8',
|
|
34
|
+
error_code: 21211,
|
|
35
|
+
price_unit: 'USD',
|
|
36
|
+
api_version: '2010-04-01',
|
|
37
|
+
subresource_uris: {
|
|
38
|
+
media: '/2010-04-01/Accounts/ACc0ea716d61fe90d78a69a3de71d45619/Messages/SM8c3920d3f2ac481ba83e639a69dadd63/Media.json',
|
|
39
|
+
feedback: '/2010-04-01/Accounts/ACc0ea716d61fe90d78a69a3de71d45619/Messages/SM8c3920d3f2ac481ba83e639a69dadd63/Feedback.json',
|
|
40
|
+
},
|
|
41
41
|
},
|
|
42
42
|
// Twilio API only allows one webhook per phone number, so we need to poll
|
|
43
43
|
type: pieces_framework_1.TriggerStrategy.POLLING,
|
|
@@ -46,9 +46,11 @@ exports.twilioNewIncomingSms = (0, pieces_framework_1.createTrigger)({
|
|
|
46
46
|
const { phone_number } = context.propsValue;
|
|
47
47
|
const account_sid = context.auth.username;
|
|
48
48
|
const auth_token = context.auth.password;
|
|
49
|
-
const response = yield (0, common_1.callTwilioApi)(pieces_common_1.HttpMethod.GET, `Messages.json?PageSize=20&To=${phone_number}`, { account_sid, auth_token
|
|
49
|
+
const response = yield (0, common_1.callTwilioApi)(pieces_common_1.HttpMethod.GET, `Messages.json?PageSize=20&To=${phone_number}`, { account_sid, auth_token }, {});
|
|
50
50
|
yield context.store.put('_new_incoming_sms_trigger', {
|
|
51
|
-
lastMessageId: response.body.messages.length === 0
|
|
51
|
+
lastMessageId: response.body.messages.length === 0
|
|
52
|
+
? null
|
|
53
|
+
: response.body.messages[0].sid,
|
|
52
54
|
});
|
|
53
55
|
});
|
|
54
56
|
},
|
|
@@ -66,15 +68,15 @@ exports.twilioNewIncomingSms = (0, pieces_framework_1.createTrigger)({
|
|
|
66
68
|
let currentUri = `2010-04-01/Accounts/${account_sid}/Messages.json?PageSize=20&To=${context.propsValue.phone_number}`;
|
|
67
69
|
let firstMessageId = undefined;
|
|
68
70
|
while (currentUri !== undefined && currentUri !== null) {
|
|
69
|
-
const res =
|
|
71
|
+
const res = yield pieces_common_1.httpClient.sendRequest({
|
|
70
72
|
method: pieces_common_1.HttpMethod.GET,
|
|
71
73
|
url: `https://api.twilio.com/${currentUri}`,
|
|
72
74
|
authentication: {
|
|
73
75
|
type: pieces_common_1.AuthenticationType.BASIC,
|
|
74
76
|
username: account_sid,
|
|
75
77
|
password: auth_token,
|
|
76
|
-
}
|
|
77
|
-
})
|
|
78
|
+
},
|
|
79
|
+
});
|
|
78
80
|
const messages = res.body.messages;
|
|
79
81
|
if (!firstMessageId && messages.length > 0) {
|
|
80
82
|
firstMessageId = messages[0].sid;
|
|
@@ -96,7 +98,6 @@ exports.twilioNewIncomingSms = (0, pieces_framework_1.createTrigger)({
|
|
|
96
98
|
});
|
|
97
99
|
return newMessages;
|
|
98
100
|
});
|
|
99
|
-
}
|
|
101
|
+
},
|
|
100
102
|
});
|
|
101
|
-
;
|
|
102
103
|
//# sourceMappingURL=new-incoming-sms.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"new-incoming-sms.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"new-incoming-sms.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/twilio/src/lib/trigger/new-incoming-sms.ts"],"names":[],"mappings":"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"}
|