@textbee/n8n-nodes-textbee 0.0.0-stage → 0.0.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/LICENSE.md +22 -0
- package/NOTICE.md +20 -0
- package/README.md +109 -2
- package/dist/credentials/TextbeeApi.credentials.d.ts +10 -0
- package/dist/credentials/TextbeeApi.credentials.js +57 -0
- package/dist/credentials/TextbeeApi.credentials.js.map +1 -0
- package/dist/icons/textbee.dark.svg +1 -0
- package/dist/icons/textbee.svg +1 -0
- package/dist/nodes/Textbee/Textbee.node.d.ts +10 -0
- package/dist/nodes/Textbee/Textbee.node.js +80 -0
- package/dist/nodes/Textbee/Textbee.node.js.map +1 -0
- package/dist/nodes/Textbee/Textbee.node.json +19 -0
- package/dist/nodes/Textbee/listSearch/searchDevices.d.ts +2 -0
- package/dist/nodes/Textbee/listSearch/searchDevices.js +36 -0
- package/dist/nodes/Textbee/listSearch/searchDevices.js.map +1 -0
- package/dist/nodes/Textbee/resources/device/get.d.ts +19 -0
- package/dist/nodes/Textbee/resources/device/get.js +31 -0
- package/dist/nodes/Textbee/resources/device/get.js.map +1 -0
- package/dist/nodes/Textbee/resources/device/getAll.d.ts +16 -0
- package/dist/nodes/Textbee/resources/device/getAll.js +29 -0
- package/dist/nodes/Textbee/resources/device/getAll.js.map +1 -0
- package/dist/nodes/Textbee/resources/device/index.d.ts +2 -0
- package/dist/nodes/Textbee/resources/device/index.js +39 -0
- package/dist/nodes/Textbee/resources/device/index.js.map +1 -0
- package/dist/nodes/Textbee/resources/message/get.d.ts +19 -0
- package/dist/nodes/Textbee/resources/message/get.js +42 -0
- package/dist/nodes/Textbee/resources/message/get.js.map +1 -0
- package/dist/nodes/Textbee/resources/message/getAll.d.ts +16 -0
- package/dist/nodes/Textbee/resources/message/getAll.js +240 -0
- package/dist/nodes/Textbee/resources/message/getAll.js.map +1 -0
- package/dist/nodes/Textbee/resources/message/getBatch.d.ts +19 -0
- package/dist/nodes/Textbee/resources/message/getBatch.js +42 -0
- package/dist/nodes/Textbee/resources/message/getBatch.js.map +1 -0
- package/dist/nodes/Textbee/resources/message/index.d.ts +2 -0
- package/dist/nodes/Textbee/resources/message/index.js +66 -0
- package/dist/nodes/Textbee/resources/message/index.js.map +1 -0
- package/dist/nodes/Textbee/resources/message/send.d.ts +19 -0
- package/dist/nodes/Textbee/resources/message/send.js +124 -0
- package/dist/nodes/Textbee/resources/message/send.js.map +1 -0
- package/dist/nodes/Textbee/resources/message/sendBulk.d.ts +19 -0
- package/dist/nodes/Textbee/resources/message/sendBulk.js +110 -0
- package/dist/nodes/Textbee/resources/message/sendBulk.js.map +1 -0
- package/dist/nodes/Textbee/resources/stats/get.d.ts +16 -0
- package/dist/nodes/Textbee/resources/stats/get.js +29 -0
- package/dist/nodes/Textbee/resources/stats/get.js.map +1 -0
- package/dist/nodes/Textbee/resources/stats/index.d.ts +2 -0
- package/dist/nodes/Textbee/resources/stats/index.js +30 -0
- package/dist/nodes/Textbee/resources/stats/index.js.map +1 -0
- package/dist/nodes/Textbee/resources/webhook/create.d.ts +22 -0
- package/dist/nodes/Textbee/resources/webhook/create.js +98 -0
- package/dist/nodes/Textbee/resources/webhook/create.js.map +1 -0
- package/dist/nodes/Textbee/resources/webhook/delete.d.ts +19 -0
- package/dist/nodes/Textbee/resources/webhook/delete.js +35 -0
- package/dist/nodes/Textbee/resources/webhook/delete.js.map +1 -0
- package/dist/nodes/Textbee/resources/webhook/get.d.ts +20 -0
- package/dist/nodes/Textbee/resources/webhook/get.js +35 -0
- package/dist/nodes/Textbee/resources/webhook/get.js.map +1 -0
- package/dist/nodes/Textbee/resources/webhook/getAll.d.ts +17 -0
- package/dist/nodes/Textbee/resources/webhook/getAll.js +30 -0
- package/dist/nodes/Textbee/resources/webhook/getAll.js.map +1 -0
- package/dist/nodes/Textbee/resources/webhook/getNotifications.d.ts +20 -0
- package/dist/nodes/Textbee/resources/webhook/getNotifications.js +213 -0
- package/dist/nodes/Textbee/resources/webhook/getNotifications.js.map +1 -0
- package/dist/nodes/Textbee/resources/webhook/index.d.ts +2 -0
- package/dist/nodes/Textbee/resources/webhook/index.js +75 -0
- package/dist/nodes/Textbee/resources/webhook/index.js.map +1 -0
- package/dist/nodes/Textbee/resources/webhook/update.d.ts +20 -0
- package/dist/nodes/Textbee/resources/webhook/update.js +115 -0
- package/dist/nodes/Textbee/resources/webhook/update.js.map +1 -0
- package/dist/nodes/Textbee/shared/baseUrl.d.ts +2 -0
- package/dist/nodes/Textbee/shared/baseUrl.js +17 -0
- package/dist/nodes/Textbee/shared/baseUrl.js.map +1 -0
- package/dist/nodes/Textbee/shared/bulk.d.ts +20 -0
- package/dist/nodes/Textbee/shared/bulk.js +56 -0
- package/dist/nodes/Textbee/shared/bulk.js.map +1 -0
- package/dist/nodes/Textbee/shared/descriptions.d.ts +8 -0
- package/dist/nodes/Textbee/shared/descriptions.js +46 -0
- package/dist/nodes/Textbee/shared/descriptions.js.map +1 -0
- package/dist/nodes/Textbee/shared/signature.d.ts +2 -0
- package/dist/nodes/Textbee/shared/signature.js +16 -0
- package/dist/nodes/Textbee/shared/signature.js.map +1 -0
- package/dist/nodes/Textbee/shared/subscription.d.ts +15 -0
- package/dist/nodes/Textbee/shared/subscription.js +30 -0
- package/dist/nodes/Textbee/shared/subscription.js.map +1 -0
- package/dist/nodes/Textbee/shared/transport.d.ts +5 -0
- package/dist/nodes/Textbee/shared/transport.js +29 -0
- package/dist/nodes/Textbee/shared/transport.js.map +1 -0
- package/dist/nodes/Textbee/shared/validation.d.ts +5 -0
- package/dist/nodes/Textbee/shared/validation.js +52 -0
- package/dist/nodes/Textbee/shared/validation.js.map +1 -0
- package/dist/nodes/TextbeeTrigger/TextbeeTrigger.node.d.ts +12 -0
- package/dist/nodes/TextbeeTrigger/TextbeeTrigger.node.js +220 -0
- package/dist/nodes/TextbeeTrigger/TextbeeTrigger.node.js.map +1 -0
- package/dist/nodes/TextbeeTrigger/TextbeeTrigger.node.json +22 -0
- package/package.json +79 -5
package/LICENSE.md
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
Copyright 2026 textbee.dev
|
|
2
|
+
Copyright 2026 aixRun (Julius Haring) <info@aixrun.de>
|
|
3
|
+
|
|
4
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
|
5
|
+
this software and associated documentation files (the "Software"), to deal in
|
|
6
|
+
the Software without restriction, including without limitation the rights to
|
|
7
|
+
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
|
|
8
|
+
of the Software, and to permit persons to whom the Software is furnished to do
|
|
9
|
+
so, subject to the following conditions:
|
|
10
|
+
|
|
11
|
+
The above copyright notice and this permission notice shall be included in all
|
|
12
|
+
copies or substantial portions of the Software.
|
|
13
|
+
|
|
14
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
15
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
16
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
17
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
18
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
19
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
20
|
+
SOFTWARE.
|
|
21
|
+
|
|
22
|
+
See NOTICE.md for notices about the textbee name and logo.
|
package/NOTICE.md
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# Notices
|
|
2
|
+
|
|
3
|
+
## This package
|
|
4
|
+
|
|
5
|
+
This package is the official n8n integration for textbee.dev. It is licensed under the
|
|
6
|
+
MIT License (see [LICENSE.md](./LICENSE.md)).
|
|
7
|
+
|
|
8
|
+
The first version was written by Julius Haring (aixRun) and transferred to textbee in
|
|
9
|
+
October 2026. His copyright notice is kept in LICENSE.md.
|
|
10
|
+
|
|
11
|
+
## textbee server
|
|
12
|
+
|
|
13
|
+
This package does not include textbee server code. It calls the textbee HTTP API. The
|
|
14
|
+
textbee server is a separate work, licensed under the GNU Affero General Public License
|
|
15
|
+
v3: https://github.com/textbee/textbee
|
|
16
|
+
|
|
17
|
+
## textbee name and logo
|
|
18
|
+
|
|
19
|
+
The textbee name and logo are trademarks of textbee.dev. The MIT License of this package
|
|
20
|
+
covers the code, not the name or logo.
|
package/README.md
CHANGED
|
@@ -1,3 +1,110 @@
|
|
|
1
|
-
#
|
|
1
|
+
# @textbee/n8n-nodes-textbee
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
[](https://www.npmjs.com/package/@textbee/n8n-nodes-textbee)
|
|
4
|
+
[](https://github.com/textbee/n8n-nodes-textbee/actions/workflows/ci.yml)
|
|
5
|
+
[](./LICENSE.md)
|
|
6
|
+
|
|
7
|
+
Official [n8n](https://n8n.io) nodes for [textbee.dev](https://textbee.dev), the open-source SMS gateway. Send and receive SMS in your workflows through your own Android phone.
|
|
8
|
+
|
|
9
|
+
- **textbee** node: send SMS (one message or bulk), read message history, list devices, manage webhook subscriptions.
|
|
10
|
+
- **textbee Trigger** node: start a workflow when your phone receives an SMS, or when a sent SMS is sent, delivered, or fails.
|
|
11
|
+
|
|
12
|
+
The textbee node can also be used as a tool by the n8n AI Agent.
|
|
13
|
+
|
|
14
|
+
## Installation
|
|
15
|
+
|
|
16
|
+
### Self-hosted n8n
|
|
17
|
+
|
|
18
|
+
1. Go to **Settings > Community Nodes**.
|
|
19
|
+
2. Select **Install**.
|
|
20
|
+
3. Enter `@textbee/n8n-nodes-textbee`.
|
|
21
|
+
4. Agree to the risks and install.
|
|
22
|
+
|
|
23
|
+
Or set the package in the environment:
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
N8N_COMMUNITY_PACKAGES=@textbee/n8n-nodes-textbee
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
### n8n Cloud
|
|
30
|
+
|
|
31
|
+
The nodes are in review for n8n verification. After approval you can add them from the nodes panel in n8n Cloud.
|
|
32
|
+
|
|
33
|
+
## Credentials
|
|
34
|
+
|
|
35
|
+
Create a **Textbee API** credential:
|
|
36
|
+
|
|
37
|
+
| Field | Required | Description |
|
|
38
|
+
| -------------------------- | ------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
39
|
+
| **API Key** | Yes | From the [textbee dashboard](https://app.textbee.dev/dashboard). See [API keys](https://textbee.dev/docs/getting-started/api-keys). |
|
|
40
|
+
| **Base URL** | No | Defaults to `https://api.textbee.dev`. Change it for [self-hosted](https://textbee.dev/docs/self-hosting) instances. The `/api/v1` suffix is added automatically. |
|
|
41
|
+
| **Webhook Signing Secret** | Trigger only | At least 20 characters. textbee signs every webhook delivery with it, and the trigger rejects requests without a valid signature. |
|
|
42
|
+
|
|
43
|
+
## Operations
|
|
44
|
+
|
|
45
|
+
### textbee
|
|
46
|
+
|
|
47
|
+
| Resource | Operations |
|
|
48
|
+
| -------------------- | --------------------------------------------------------- |
|
|
49
|
+
| Message | Send, Send Bulk, Get Many, Get, Get Batch |
|
|
50
|
+
| Device | Get Many, Get |
|
|
51
|
+
| Account | Get (totals for sent and received SMS, devices, API keys) |
|
|
52
|
+
| Webhook Subscription | Create, Get, Get Many, Update, Delete, Get Notifications |
|
|
53
|
+
|
|
54
|
+
### textbee Trigger
|
|
55
|
+
|
|
56
|
+
Starts a workflow on these events: `MESSAGE_RECEIVED`, `MESSAGE_SENT`, `MESSAGE_DELIVERED`, `MESSAGE_FAILED`, `UNKNOWN_STATE`.
|
|
57
|
+
|
|
58
|
+
When you activate the workflow, the trigger registers a webhook subscription in textbee that points at the n8n production webhook URL. When you deactivate it, the trigger deletes the subscription. If the URL, the events, or the signing secret change, the trigger updates the existing subscription instead of creating a new one.
|
|
59
|
+
|
|
60
|
+
Every request is checked against the `X-Signature` header (HMAC-SHA256 of the raw body). Requests with a missing or wrong signature get HTTP 401.
|
|
61
|
+
|
|
62
|
+
## Usage
|
|
63
|
+
|
|
64
|
+
### Send an SMS
|
|
65
|
+
|
|
66
|
+
1. Add a **textbee** node.
|
|
67
|
+
2. Set Resource to **Message** and Operation to **Send**.
|
|
68
|
+
3. Enter the **Message** and the **Recipients** (E.164 format, for example `+15555550123`, comma-separated).
|
|
69
|
+
4. Optionally pick a **Device**. Without one, textbee uses your default device.
|
|
70
|
+
|
|
71
|
+
A successful response means textbee accepted and queued the message. It is not a delivery confirmation. To follow the status, use **Get Many** with the `smsBatchId` filter, or a **textbee Trigger** on **Message Delivered** and **Message Failed**.
|
|
72
|
+
|
|
73
|
+
### Reply to incoming SMS
|
|
74
|
+
|
|
75
|
+
1. In the textbee Android app, turn on **Receive SMS**.
|
|
76
|
+
2. Add a **textbee Trigger** and select **Message Received**.
|
|
77
|
+
3. Connect a **textbee** node with Operation **Send**. Set Recipients to `{{ $json.sender }}` and write the reply in Message.
|
|
78
|
+
4. Activate the workflow. The production webhook URL must be public, because textbee does not deliver to localhost or private addresses. In development, use a tunnel.
|
|
79
|
+
|
|
80
|
+
textbee retries failed deliveries. Use the `idempotencyKey` field of the payload to skip duplicates.
|
|
81
|
+
|
|
82
|
+
## Resources
|
|
83
|
+
|
|
84
|
+
- [n8n guide for textbee](https://textbee.dev/docs/agents/n8n)
|
|
85
|
+
- [textbee API reference](https://textbee.dev/docs/api-reference)
|
|
86
|
+
- [Webhooks](https://textbee.dev/docs/webhooks)
|
|
87
|
+
- [Self-hosting textbee](https://textbee.dev/docs/self-hosting)
|
|
88
|
+
- [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
|
|
89
|
+
|
|
90
|
+
## Development
|
|
91
|
+
|
|
92
|
+
This project uses pnpm.
|
|
93
|
+
|
|
94
|
+
```bash
|
|
95
|
+
pnpm install
|
|
96
|
+
pnpm dev # starts n8n on http://localhost:5678 with these nodes loaded
|
|
97
|
+
pnpm test # unit tests
|
|
98
|
+
pnpm lint # n8n community node linter
|
|
99
|
+
pnpm build
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
Releases are driven by the `version` field in `package.json`. Bump it in a pull request. When the pull request is merged to `main`, the [publish workflow](.github/workflows/publish.yml) publishes the package to npm with a provenance attestation, then tags the commit and creates the GitHub release.
|
|
103
|
+
|
|
104
|
+
## Credits
|
|
105
|
+
|
|
106
|
+
[Julius Haring](https://github.com/JuliusHaring) ([aixRun](https://www.aixrun.de)) built the first version of these nodes and handed the project over to textbee. Thank you, Julius.
|
|
107
|
+
|
|
108
|
+
## License
|
|
109
|
+
|
|
110
|
+
[MIT](./LICENSE.md). Third-party notices are in [NOTICE.md](./NOTICE.md).
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { IAuthenticateGeneric, Icon, ICredentialTestRequest, ICredentialType, INodeProperties } from 'n8n-workflow';
|
|
2
|
+
export declare class TextbeeApi implements ICredentialType {
|
|
3
|
+
name: string;
|
|
4
|
+
displayName: string;
|
|
5
|
+
icon: Icon;
|
|
6
|
+
documentationUrl: string;
|
|
7
|
+
properties: INodeProperties[];
|
|
8
|
+
authenticate: IAuthenticateGeneric;
|
|
9
|
+
test: ICredentialTestRequest;
|
|
10
|
+
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TextbeeApi = void 0;
|
|
4
|
+
const baseUrl_1 = require("../nodes/Textbee/shared/baseUrl");
|
|
5
|
+
class TextbeeApi {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.name = 'textbeeApi';
|
|
8
|
+
this.displayName = 'Textbee API';
|
|
9
|
+
this.icon = { light: 'file:../icons/textbee.svg', dark: 'file:../icons/textbee.dark.svg' };
|
|
10
|
+
this.documentationUrl = 'https://textbee.dev/docs/getting-started/api-keys';
|
|
11
|
+
this.properties = [
|
|
12
|
+
{
|
|
13
|
+
displayName: 'API Key',
|
|
14
|
+
name: 'apiKey',
|
|
15
|
+
type: 'string',
|
|
16
|
+
typeOptions: { password: true },
|
|
17
|
+
default: '',
|
|
18
|
+
required: true,
|
|
19
|
+
description: 'API key from the textbee dashboard',
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
displayName: 'Base URL',
|
|
23
|
+
name: 'baseUrl',
|
|
24
|
+
type: 'string',
|
|
25
|
+
default: 'https://api.textbee.dev',
|
|
26
|
+
placeholder: 'https://api.textbee.dev',
|
|
27
|
+
description: 'textbee API host. Defaults to the hosted service. Change for self-hosted instances. The `/api/v1` suffix is optional and added automatically.',
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
displayName: 'Webhook Signing Secret',
|
|
31
|
+
name: 'webhookSigningSecret',
|
|
32
|
+
type: 'string',
|
|
33
|
+
typeOptions: { password: true },
|
|
34
|
+
default: '',
|
|
35
|
+
description: 'Shared secret (at least 20 characters) used to sign and verify webhook deliveries. Required when using the textbee Trigger node.',
|
|
36
|
+
hint: 'Only required when using the textbee Trigger node',
|
|
37
|
+
},
|
|
38
|
+
];
|
|
39
|
+
this.authenticate = {
|
|
40
|
+
type: 'generic',
|
|
41
|
+
properties: {
|
|
42
|
+
headers: {
|
|
43
|
+
'x-api-key': '={{$credentials.apiKey}}',
|
|
44
|
+
},
|
|
45
|
+
},
|
|
46
|
+
};
|
|
47
|
+
this.test = {
|
|
48
|
+
request: {
|
|
49
|
+
baseURL: baseUrl_1.baseUrlExpression,
|
|
50
|
+
url: '/gateway/stats',
|
|
51
|
+
method: 'GET',
|
|
52
|
+
},
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
exports.TextbeeApi = TextbeeApi;
|
|
57
|
+
//# sourceMappingURL=TextbeeApi.credentials.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TextbeeApi.credentials.js","sourceRoot":"","sources":["../../credentials/TextbeeApi.credentials.ts"],"names":[],"mappings":";;;AAQA,6DAAoE;AAEpE,MAAa,UAAU;IAAvB;QACC,SAAI,GAAG,YAAY,CAAC;QAEpB,gBAAW,GAAG,aAAa,CAAC;QAE5B,SAAI,GAAS,EAAE,KAAK,EAAE,2BAA2B,EAAE,IAAI,EAAE,gCAAgC,EAAE,CAAC;QAE5F,qBAAgB,GAAG,mDAAmD,CAAC;QAEvE,eAAU,GAAsB;YAC/B;gBACC,WAAW,EAAE,SAAS;gBACtB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAC/B,OAAO,EAAE,EAAE;gBACX,QAAQ,EAAE,IAAI;gBACd,WAAW,EAAE,oCAAoC;aACjD;YACD;gBACC,WAAW,EAAE,UAAU;gBACvB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,yBAAyB;gBAClC,WAAW,EAAE,yBAAyB;gBACtC,WAAW,EACV,+IAA+I;aAChJ;YACD;gBACC,WAAW,EAAE,wBAAwB;gBACrC,IAAI,EAAE,sBAAsB;gBAC5B,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAC/B,OAAO,EAAE,EAAE;gBACX,WAAW,EACV,kIAAkI;gBACnI,IAAI,EAAE,mDAAmD;aACzD;SACD,CAAC;QAEF,iBAAY,GAAyB;YACpC,IAAI,EAAE,SAAS;YACf,UAAU,EAAE;gBACX,OAAO,EAAE;oBACR,WAAW,EAAE,0BAA0B;iBACvC;aACD;SACD,CAAC;QAEF,SAAI,GAA2B;YAC9B,OAAO,EAAE;gBACR,OAAO,EAAE,2BAAiB;gBAC1B,GAAG,EAAE,gBAAgB;gBACrB,MAAM,EAAE,KAAK;aACb;SACD,CAAC;IACH,CAAC;CAAA;AAxDD,gCAwDC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="64" height="64" viewBox="12 10 132 132"><image width="160" height="160" xlink:href="data:image/png;base64,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"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="64" height="64" viewBox="12 10 132 132"><image width="160" height="160" xlink:href="data:image/png;base64,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"/></svg>
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type INodeType, type INodeTypeDescription } from 'n8n-workflow';
|
|
2
|
+
import { searchDevices } from './listSearch/searchDevices';
|
|
3
|
+
export declare class Textbee implements INodeType {
|
|
4
|
+
description: INodeTypeDescription;
|
|
5
|
+
methods: {
|
|
6
|
+
listSearch: {
|
|
7
|
+
searchDevices: typeof searchDevices;
|
|
8
|
+
};
|
|
9
|
+
};
|
|
10
|
+
}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Textbee = void 0;
|
|
4
|
+
const n8n_workflow_1 = require("n8n-workflow");
|
|
5
|
+
const searchDevices_1 = require("./listSearch/searchDevices");
|
|
6
|
+
const device_1 = require("./resources/device");
|
|
7
|
+
const message_1 = require("./resources/message");
|
|
8
|
+
const stats_1 = require("./resources/stats");
|
|
9
|
+
const webhook_1 = require("./resources/webhook");
|
|
10
|
+
const baseUrl_1 = require("./shared/baseUrl");
|
|
11
|
+
class Textbee {
|
|
12
|
+
constructor() {
|
|
13
|
+
this.description = {
|
|
14
|
+
displayName: 'textbee',
|
|
15
|
+
name: 'textbee',
|
|
16
|
+
icon: { light: 'file:../../icons/textbee.svg', dark: 'file:../../icons/textbee.dark.svg' },
|
|
17
|
+
group: ['transform'],
|
|
18
|
+
version: [1],
|
|
19
|
+
subtitle: '={{$parameter["operation"] + ": " + $parameter["resource"]}}',
|
|
20
|
+
description: 'Send and manage SMS through textbee',
|
|
21
|
+
defaults: {
|
|
22
|
+
name: 'textbee',
|
|
23
|
+
},
|
|
24
|
+
usableAsTool: true,
|
|
25
|
+
inputs: [n8n_workflow_1.NodeConnectionTypes.Main],
|
|
26
|
+
outputs: [n8n_workflow_1.NodeConnectionTypes.Main],
|
|
27
|
+
credentials: [
|
|
28
|
+
{
|
|
29
|
+
name: 'textbeeApi',
|
|
30
|
+
required: true,
|
|
31
|
+
},
|
|
32
|
+
],
|
|
33
|
+
requestDefaults: {
|
|
34
|
+
baseURL: baseUrl_1.baseUrlExpression,
|
|
35
|
+
headers: {
|
|
36
|
+
Accept: 'application/json',
|
|
37
|
+
'Content-Type': 'application/json',
|
|
38
|
+
},
|
|
39
|
+
},
|
|
40
|
+
properties: [
|
|
41
|
+
{
|
|
42
|
+
displayName: 'Resource',
|
|
43
|
+
name: 'resource',
|
|
44
|
+
type: 'options',
|
|
45
|
+
noDataExpression: true,
|
|
46
|
+
options: [
|
|
47
|
+
{
|
|
48
|
+
name: 'Device',
|
|
49
|
+
value: 'device',
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
name: 'Message',
|
|
53
|
+
value: 'message',
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
name: 'Account',
|
|
57
|
+
value: 'account',
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
name: 'Webhook Subscription',
|
|
61
|
+
value: 'webhook',
|
|
62
|
+
},
|
|
63
|
+
],
|
|
64
|
+
default: 'message',
|
|
65
|
+
},
|
|
66
|
+
...message_1.messageDescription,
|
|
67
|
+
...device_1.deviceDescription,
|
|
68
|
+
...stats_1.statsDescription,
|
|
69
|
+
...webhook_1.webhookDescription,
|
|
70
|
+
],
|
|
71
|
+
};
|
|
72
|
+
this.methods = {
|
|
73
|
+
listSearch: {
|
|
74
|
+
searchDevices: searchDevices_1.searchDevices,
|
|
75
|
+
},
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
exports.Textbee = Textbee;
|
|
80
|
+
//# sourceMappingURL=Textbee.node.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Textbee.node.js","sourceRoot":"","sources":["../../../nodes/Textbee/Textbee.node.ts"],"names":[],"mappings":";;;AAAA,+CAA8F;AAE9F,8DAA2D;AAC3D,+CAAuD;AACvD,iDAAyD;AACzD,6CAAqD;AACrD,iDAAyD;AACzD,8CAAqD;AAErD,MAAa,OAAO;IAApB;QACC,gBAAW,GAAyB;YACnC,WAAW,EAAE,SAAS;YACtB,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,EAAE,KAAK,EAAE,8BAA8B,EAAE,IAAI,EAAE,mCAAmC,EAAE;YAC1F,KAAK,EAAE,CAAC,WAAW,CAAC;YACpB,OAAO,EAAE,CAAC,CAAC,CAAC;YACZ,QAAQ,EAAE,8DAA8D;YACxE,WAAW,EAAE,qCAAqC;YAClD,QAAQ,EAAE;gBACT,IAAI,EAAE,SAAS;aACf;YACD,YAAY,EAAE,IAAI;YAClB,MAAM,EAAE,CAAC,kCAAmB,CAAC,IAAI,CAAC;YAClC,OAAO,EAAE,CAAC,kCAAmB,CAAC,IAAI,CAAC;YACnC,WAAW,EAAE;gBACZ;oBACC,IAAI,EAAE,YAAY;oBAClB,QAAQ,EAAE,IAAI;iBACd;aACD;YACD,eAAe,EAAE;gBAChB,OAAO,EAAE,2BAAiB;gBAC1B,OAAO,EAAE;oBACR,MAAM,EAAE,kBAAkB;oBAC1B,cAAc,EAAE,kBAAkB;iBAClC;aACD;YACD,UAAU,EAAE;gBACX;oBACC,WAAW,EAAE,UAAU;oBACvB,IAAI,EAAE,UAAU;oBAChB,IAAI,EAAE,SAAS;oBACf,gBAAgB,EAAE,IAAI;oBACtB,OAAO,EAAE;wBACR;4BACC,IAAI,EAAE,QAAQ;4BACd,KAAK,EAAE,QAAQ;yBACf;wBACD;4BACC,IAAI,EAAE,SAAS;4BACf,KAAK,EAAE,SAAS;yBAChB;wBACD;4BACC,IAAI,EAAE,SAAS;4BACf,KAAK,EAAE,SAAS;yBAChB;wBACD;4BACC,IAAI,EAAE,sBAAsB;4BAC5B,KAAK,EAAE,SAAS;yBAChB;qBACD;oBACD,OAAO,EAAE,SAAS;iBAClB;gBACD,GAAG,4BAAkB;gBACrB,GAAG,0BAAiB;gBACpB,GAAG,wBAAgB;gBACnB,GAAG,4BAAkB;aACrB;SACD,CAAC;QAEF,YAAO,GAAG;YACT,UAAU,EAAE;gBACX,aAAa,EAAb,6BAAa;aACb;SACD,CAAC;IACH,CAAC;CAAA;AAlED,0BAkEC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
{
|
|
2
|
+
"node": "@textbee/n8n-nodes-textbee.textbee",
|
|
3
|
+
"nodeVersion": "1.0",
|
|
4
|
+
"codexVersion": "1.0",
|
|
5
|
+
"categories": ["Communication", "Marketing & Content"],
|
|
6
|
+
"resources": {
|
|
7
|
+
"credentialDocumentation": [
|
|
8
|
+
{
|
|
9
|
+
"url": "https://textbee.dev/docs/getting-started/api-keys"
|
|
10
|
+
}
|
|
11
|
+
],
|
|
12
|
+
"primaryDocumentation": [
|
|
13
|
+
{
|
|
14
|
+
"url": "https://textbee.dev/docs/agents/n8n"
|
|
15
|
+
}
|
|
16
|
+
]
|
|
17
|
+
},
|
|
18
|
+
"alias": ["SMS", "Text message", "Android", "SMS gateway"]
|
|
19
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.searchDevices = searchDevices;
|
|
4
|
+
const transport_1 = require("../shared/transport");
|
|
5
|
+
async function searchDevices(filter) {
|
|
6
|
+
var _a;
|
|
7
|
+
const response = (await transport_1.textbeeApiRequest.call(this, 'GET', '/gateway/devices'));
|
|
8
|
+
const devices = (_a = response.data) !== null && _a !== void 0 ? _a : [];
|
|
9
|
+
const needle = (filter !== null && filter !== void 0 ? filter : '').toLowerCase();
|
|
10
|
+
const results = devices
|
|
11
|
+
.filter((device) => {
|
|
12
|
+
if (!needle)
|
|
13
|
+
return true;
|
|
14
|
+
const label = [device.name, device.brand, device.model, device._id]
|
|
15
|
+
.filter(Boolean)
|
|
16
|
+
.join(' ')
|
|
17
|
+
.toLowerCase();
|
|
18
|
+
return label.includes(needle);
|
|
19
|
+
})
|
|
20
|
+
.map((device) => {
|
|
21
|
+
var _a, _b;
|
|
22
|
+
const parts = [
|
|
23
|
+
device.name || `${(_a = device.brand) !== null && _a !== void 0 ? _a : ''} ${(_b = device.model) !== null && _b !== void 0 ? _b : ''}`.trim() || device._id,
|
|
24
|
+
];
|
|
25
|
+
if (device.isDefault)
|
|
26
|
+
parts.push('(default)');
|
|
27
|
+
if (device.enabled === false)
|
|
28
|
+
parts.push('(disabled)');
|
|
29
|
+
return {
|
|
30
|
+
name: parts.join(' '),
|
|
31
|
+
value: device._id,
|
|
32
|
+
};
|
|
33
|
+
});
|
|
34
|
+
return { results };
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=searchDevices.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"searchDevices.js","sourceRoot":"","sources":["../../../../nodes/Textbee/listSearch/searchDevices.ts"],"names":[],"mappings":";;AAqBA,sCAmCC;AAlDD,mDAAwD;AAejD,KAAK,UAAU,aAAa,CAElC,MAAe;;IAEf,MAAM,QAAQ,GAAG,CAAC,MAAM,6BAAiB,CAAC,IAAI,CAC7C,IAAI,EACJ,KAAK,EACL,kBAAkB,CAClB,CAAoB,CAAC;IACtB,MAAM,OAAO,GAAG,MAAA,QAAQ,CAAC,IAAI,mCAAI,EAAE,CAAC;IAEpC,MAAM,MAAM,GAAG,CAAC,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAE5C,MAAM,OAAO,GAA2B,OAAO;SAC7C,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE;QAClB,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QACzB,MAAM,KAAK,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC;aACjE,MAAM,CAAC,OAAO,CAAC;aACf,IAAI,CAAC,GAAG,CAAC;aACT,WAAW,EAAE,CAAC;QAChB,OAAO,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC,CAAC;SACD,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;;QACf,MAAM,KAAK,GAAG;YACb,MAAM,CAAC,IAAI,IAAI,GAAG,MAAA,MAAM,CAAC,KAAK,mCAAI,EAAE,IAAI,MAAA,MAAM,CAAC,KAAK,mCAAI,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,MAAM,CAAC,GAAG;SACjF,CAAC;QACF,IAAI,MAAM,CAAC,SAAS;YAAE,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC9C,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK;YAAE,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACvD,OAAO;YACN,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;YACrB,KAAK,EAAE,MAAM,CAAC,GAAG;SACjB,CAAC;IACH,CAAC,CAAC,CAAC;IAEJ,OAAO,EAAE,OAAO,EAAE,CAAC;AACpB,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { INodeProperties } from 'n8n-workflow';
|
|
2
|
+
export declare const deviceGetDescription: INodeProperties[];
|
|
3
|
+
export declare const deviceGetRouting: {
|
|
4
|
+
send: {
|
|
5
|
+
preSend: ((this: import("n8n-workflow").IExecuteSingleFunctions, requestOptions: import("n8n-workflow").IHttpRequestOptions) => Promise<import("n8n-workflow").IHttpRequestOptions>)[];
|
|
6
|
+
};
|
|
7
|
+
request: {
|
|
8
|
+
method: "GET";
|
|
9
|
+
url: string;
|
|
10
|
+
};
|
|
11
|
+
output: {
|
|
12
|
+
postReceive: {
|
|
13
|
+
type: "rootProperty";
|
|
14
|
+
properties: {
|
|
15
|
+
property: string;
|
|
16
|
+
};
|
|
17
|
+
}[];
|
|
18
|
+
};
|
|
19
|
+
};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.deviceGetRouting = exports.deviceGetDescription = void 0;
|
|
4
|
+
const validation_1 = require("../../shared/validation");
|
|
5
|
+
const descriptions_1 = require("../../shared/descriptions");
|
|
6
|
+
const showOnlyForDeviceGet = {
|
|
7
|
+
operation: ['get'],
|
|
8
|
+
resource: ['device'],
|
|
9
|
+
};
|
|
10
|
+
exports.deviceGetDescription = [
|
|
11
|
+
{
|
|
12
|
+
...descriptions_1.deviceIdProperty,
|
|
13
|
+
required: true,
|
|
14
|
+
displayOptions: {
|
|
15
|
+
show: showOnlyForDeviceGet,
|
|
16
|
+
},
|
|
17
|
+
},
|
|
18
|
+
];
|
|
19
|
+
exports.deviceGetRouting = {
|
|
20
|
+
send: {
|
|
21
|
+
preSend: [(0, validation_1.requireObjectIds)('deviceId')],
|
|
22
|
+
},
|
|
23
|
+
request: {
|
|
24
|
+
method: 'GET',
|
|
25
|
+
url: '=/gateway/devices/{{$parameter.deviceId.value}}',
|
|
26
|
+
},
|
|
27
|
+
output: {
|
|
28
|
+
postReceive: descriptions_1.unwrapDataPostReceive,
|
|
29
|
+
},
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=get.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get.js","sourceRoot":"","sources":["../../../../../nodes/Textbee/resources/device/get.ts"],"names":[],"mappings":";;;AAEA,wDAA2D;AAC3D,4DAAoF;AAEpF,MAAM,oBAAoB,GAAG;IAC5B,SAAS,EAAE,CAAC,KAAK,CAAC;IAClB,QAAQ,EAAE,CAAC,QAAQ,CAAC;CACpB,CAAC;AAEW,QAAA,oBAAoB,GAAsB;IACtD;QACC,GAAG,+BAAgB;QACnB,QAAQ,EAAE,IAAI;QACd,cAAc,EAAE;YACf,IAAI,EAAE,oBAAoB;SAC1B;KACD;CACD,CAAC;AAEW,QAAA,gBAAgB,GAAG;IAC/B,IAAI,EAAE;QACL,OAAO,EAAE,CAAC,IAAA,6BAAgB,EAAC,UAAU,CAAC,CAAC;KACvC;IACD,OAAO,EAAE;QACR,MAAM,EAAE,KAAc;QACtB,GAAG,EAAE,iDAAiD;KACtD;IACD,MAAM,EAAE;QACP,WAAW,EAAE,oCAAqB;KAClC;CACD,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { INodeProperties } from 'n8n-workflow';
|
|
2
|
+
export declare const deviceGetManyDescription: INodeProperties[];
|
|
3
|
+
export declare const deviceGetManyRouting: {
|
|
4
|
+
request: {
|
|
5
|
+
method: "GET";
|
|
6
|
+
url: string;
|
|
7
|
+
};
|
|
8
|
+
output: {
|
|
9
|
+
postReceive: {
|
|
10
|
+
type: "rootProperty";
|
|
11
|
+
properties: {
|
|
12
|
+
property: string;
|
|
13
|
+
};
|
|
14
|
+
}[];
|
|
15
|
+
};
|
|
16
|
+
};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.deviceGetManyRouting = exports.deviceGetManyDescription = void 0;
|
|
4
|
+
const descriptions_1 = require("../../shared/descriptions");
|
|
5
|
+
const showOnlyForDeviceGetMany = {
|
|
6
|
+
operation: ['getAll'],
|
|
7
|
+
resource: ['device'],
|
|
8
|
+
};
|
|
9
|
+
exports.deviceGetManyDescription = [
|
|
10
|
+
{
|
|
11
|
+
displayName: 'Returns every phone paired with your textbee account.',
|
|
12
|
+
name: 'deviceListNotice',
|
|
13
|
+
type: 'notice',
|
|
14
|
+
default: '',
|
|
15
|
+
displayOptions: {
|
|
16
|
+
show: showOnlyForDeviceGetMany,
|
|
17
|
+
},
|
|
18
|
+
},
|
|
19
|
+
];
|
|
20
|
+
exports.deviceGetManyRouting = {
|
|
21
|
+
request: {
|
|
22
|
+
method: 'GET',
|
|
23
|
+
url: '/gateway/devices',
|
|
24
|
+
},
|
|
25
|
+
output: {
|
|
26
|
+
postReceive: descriptions_1.unwrapDataPostReceive,
|
|
27
|
+
},
|
|
28
|
+
};
|
|
29
|
+
//# sourceMappingURL=getAll.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getAll.js","sourceRoot":"","sources":["../../../../../nodes/Textbee/resources/device/getAll.ts"],"names":[],"mappings":";;;AAEA,4DAAkE;AAElE,MAAM,wBAAwB,GAAG;IAChC,SAAS,EAAE,CAAC,QAAQ,CAAC;IACrB,QAAQ,EAAE,CAAC,QAAQ,CAAC;CACpB,CAAC;AAEW,QAAA,wBAAwB,GAAsB;IAC1D;QACC,WAAW,EAAE,uDAAuD;QACpE,IAAI,EAAE,kBAAkB;QACxB,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,EAAE;QACX,cAAc,EAAE;YACf,IAAI,EAAE,wBAAwB;SAC9B;KACD;CACD,CAAC;AAEW,QAAA,oBAAoB,GAAG;IACnC,OAAO,EAAE;QACR,MAAM,EAAE,KAAc;QACtB,GAAG,EAAE,kBAAkB;KACvB;IACD,MAAM,EAAE;QACP,WAAW,EAAE,oCAAqB;KAClC;CACD,CAAC"}
|