@textbee/n8n-nodes-textbee 0.0.0-stage → 1.0.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.
Files changed (95) hide show
  1. package/LICENSE.md +22 -0
  2. package/NOTICE.md +20 -0
  3. package/README.md +109 -2
  4. package/dist/credentials/TextbeeApi.credentials.d.ts +10 -0
  5. package/dist/credentials/TextbeeApi.credentials.js +57 -0
  6. package/dist/credentials/TextbeeApi.credentials.js.map +1 -0
  7. package/dist/icons/textbee.dark.svg +1 -0
  8. package/dist/icons/textbee.svg +1 -0
  9. package/dist/nodes/Textbee/Textbee.node.d.ts +10 -0
  10. package/dist/nodes/Textbee/Textbee.node.js +80 -0
  11. package/dist/nodes/Textbee/Textbee.node.js.map +1 -0
  12. package/dist/nodes/Textbee/Textbee.node.json +19 -0
  13. package/dist/nodes/Textbee/listSearch/searchDevices.d.ts +2 -0
  14. package/dist/nodes/Textbee/listSearch/searchDevices.js +36 -0
  15. package/dist/nodes/Textbee/listSearch/searchDevices.js.map +1 -0
  16. package/dist/nodes/Textbee/resources/device/get.d.ts +19 -0
  17. package/dist/nodes/Textbee/resources/device/get.js +31 -0
  18. package/dist/nodes/Textbee/resources/device/get.js.map +1 -0
  19. package/dist/nodes/Textbee/resources/device/getAll.d.ts +16 -0
  20. package/dist/nodes/Textbee/resources/device/getAll.js +29 -0
  21. package/dist/nodes/Textbee/resources/device/getAll.js.map +1 -0
  22. package/dist/nodes/Textbee/resources/device/index.d.ts +2 -0
  23. package/dist/nodes/Textbee/resources/device/index.js +39 -0
  24. package/dist/nodes/Textbee/resources/device/index.js.map +1 -0
  25. package/dist/nodes/Textbee/resources/message/get.d.ts +19 -0
  26. package/dist/nodes/Textbee/resources/message/get.js +42 -0
  27. package/dist/nodes/Textbee/resources/message/get.js.map +1 -0
  28. package/dist/nodes/Textbee/resources/message/getAll.d.ts +16 -0
  29. package/dist/nodes/Textbee/resources/message/getAll.js +240 -0
  30. package/dist/nodes/Textbee/resources/message/getAll.js.map +1 -0
  31. package/dist/nodes/Textbee/resources/message/getBatch.d.ts +19 -0
  32. package/dist/nodes/Textbee/resources/message/getBatch.js +42 -0
  33. package/dist/nodes/Textbee/resources/message/getBatch.js.map +1 -0
  34. package/dist/nodes/Textbee/resources/message/index.d.ts +2 -0
  35. package/dist/nodes/Textbee/resources/message/index.js +66 -0
  36. package/dist/nodes/Textbee/resources/message/index.js.map +1 -0
  37. package/dist/nodes/Textbee/resources/message/send.d.ts +19 -0
  38. package/dist/nodes/Textbee/resources/message/send.js +124 -0
  39. package/dist/nodes/Textbee/resources/message/send.js.map +1 -0
  40. package/dist/nodes/Textbee/resources/message/sendBulk.d.ts +19 -0
  41. package/dist/nodes/Textbee/resources/message/sendBulk.js +110 -0
  42. package/dist/nodes/Textbee/resources/message/sendBulk.js.map +1 -0
  43. package/dist/nodes/Textbee/resources/stats/get.d.ts +16 -0
  44. package/dist/nodes/Textbee/resources/stats/get.js +29 -0
  45. package/dist/nodes/Textbee/resources/stats/get.js.map +1 -0
  46. package/dist/nodes/Textbee/resources/stats/index.d.ts +2 -0
  47. package/dist/nodes/Textbee/resources/stats/index.js +30 -0
  48. package/dist/nodes/Textbee/resources/stats/index.js.map +1 -0
  49. package/dist/nodes/Textbee/resources/webhook/create.d.ts +22 -0
  50. package/dist/nodes/Textbee/resources/webhook/create.js +98 -0
  51. package/dist/nodes/Textbee/resources/webhook/create.js.map +1 -0
  52. package/dist/nodes/Textbee/resources/webhook/delete.d.ts +19 -0
  53. package/dist/nodes/Textbee/resources/webhook/delete.js +35 -0
  54. package/dist/nodes/Textbee/resources/webhook/delete.js.map +1 -0
  55. package/dist/nodes/Textbee/resources/webhook/get.d.ts +20 -0
  56. package/dist/nodes/Textbee/resources/webhook/get.js +35 -0
  57. package/dist/nodes/Textbee/resources/webhook/get.js.map +1 -0
  58. package/dist/nodes/Textbee/resources/webhook/getAll.d.ts +17 -0
  59. package/dist/nodes/Textbee/resources/webhook/getAll.js +30 -0
  60. package/dist/nodes/Textbee/resources/webhook/getAll.js.map +1 -0
  61. package/dist/nodes/Textbee/resources/webhook/getNotifications.d.ts +20 -0
  62. package/dist/nodes/Textbee/resources/webhook/getNotifications.js +213 -0
  63. package/dist/nodes/Textbee/resources/webhook/getNotifications.js.map +1 -0
  64. package/dist/nodes/Textbee/resources/webhook/index.d.ts +2 -0
  65. package/dist/nodes/Textbee/resources/webhook/index.js +75 -0
  66. package/dist/nodes/Textbee/resources/webhook/index.js.map +1 -0
  67. package/dist/nodes/Textbee/resources/webhook/update.d.ts +20 -0
  68. package/dist/nodes/Textbee/resources/webhook/update.js +115 -0
  69. package/dist/nodes/Textbee/resources/webhook/update.js.map +1 -0
  70. package/dist/nodes/Textbee/shared/baseUrl.d.ts +2 -0
  71. package/dist/nodes/Textbee/shared/baseUrl.js +17 -0
  72. package/dist/nodes/Textbee/shared/baseUrl.js.map +1 -0
  73. package/dist/nodes/Textbee/shared/bulk.d.ts +20 -0
  74. package/dist/nodes/Textbee/shared/bulk.js +56 -0
  75. package/dist/nodes/Textbee/shared/bulk.js.map +1 -0
  76. package/dist/nodes/Textbee/shared/descriptions.d.ts +8 -0
  77. package/dist/nodes/Textbee/shared/descriptions.js +46 -0
  78. package/dist/nodes/Textbee/shared/descriptions.js.map +1 -0
  79. package/dist/nodes/Textbee/shared/signature.d.ts +2 -0
  80. package/dist/nodes/Textbee/shared/signature.js +16 -0
  81. package/dist/nodes/Textbee/shared/signature.js.map +1 -0
  82. package/dist/nodes/Textbee/shared/subscription.d.ts +15 -0
  83. package/dist/nodes/Textbee/shared/subscription.js +30 -0
  84. package/dist/nodes/Textbee/shared/subscription.js.map +1 -0
  85. package/dist/nodes/Textbee/shared/transport.d.ts +5 -0
  86. package/dist/nodes/Textbee/shared/transport.js +29 -0
  87. package/dist/nodes/Textbee/shared/transport.js.map +1 -0
  88. package/dist/nodes/Textbee/shared/validation.d.ts +5 -0
  89. package/dist/nodes/Textbee/shared/validation.js +52 -0
  90. package/dist/nodes/Textbee/shared/validation.js.map +1 -0
  91. package/dist/nodes/TextbeeTrigger/TextbeeTrigger.node.d.ts +12 -0
  92. package/dist/nodes/TextbeeTrigger/TextbeeTrigger.node.js +220 -0
  93. package/dist/nodes/TextbeeTrigger/TextbeeTrigger.node.js.map +1 -0
  94. package/dist/nodes/TextbeeTrigger/TextbeeTrigger.node.json +22 -0
  95. package/package.json +72 -3
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
- # Temporary Holding Version
1
+ # @textbee/n8n-nodes-textbee
2
2
 
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.
3
+ [![npm](https://img.shields.io/npm/v/@textbee/n8n-nodes-textbee.svg)](https://www.npmjs.com/package/@textbee/n8n-nodes-textbee)
4
+ [![CI](https://github.com/textbee/n8n-nodes-textbee/actions/workflows/ci.yml/badge.svg)](https://github.com/textbee/n8n-nodes-textbee/actions/workflows/ci.yml)
5
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](./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,2 @@
1
+ import type { ILoadOptionsFunctions, INodeListSearchResult } from 'n8n-workflow';
2
+ export declare function searchDevices(this: ILoadOptionsFunctions, filter?: string): Promise<INodeListSearchResult>;
@@ -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"}