n8n-nodes-whaapy 0.1.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/README.md +87 -0
- package/dist/credentials/WhaapyApi.credentials.d.ts +9 -0
- package/dist/credentials/WhaapyApi.credentials.js +43 -0
- package/dist/nodes/Whaapy/Whaapy.node.d.ts +4 -0
- package/dist/nodes/Whaapy/Whaapy.node.js +1706 -0
- package/dist/nodes/Whaapy/WhaapyTrigger.node.d.ts +12 -0
- package/dist/nodes/Whaapy/WhaapyTrigger.node.js +217 -0
- package/dist/nodes/Whaapy/whaapy.svg +4 -0
- package/package.json +64 -0
package/README.md
ADDED
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
# n8n-nodes-whaapy
|
|
2
|
+
|
|
3
|
+
This is an n8n community node for [Whaapy](https://whaapy.com) - WhatsApp Business API with AI.
|
|
4
|
+
|
|
5
|
+
Whaapy lets you automate WhatsApp conversations with AI-powered agents, manage contacts, send messages, and integrate with your existing workflows.
|
|
6
|
+
|
|
7
|
+
[n8n](https://n8n.io/) is a [fair-code licensed](https://docs.n8n.io/reference/license/) workflow automation platform.
|
|
8
|
+
|
|
9
|
+
## Installation
|
|
10
|
+
|
|
11
|
+
Follow the [installation guide](https://docs.n8n.io/integrations/community-nodes/installation/) in the n8n community nodes documentation.
|
|
12
|
+
|
|
13
|
+
## Operations
|
|
14
|
+
|
|
15
|
+
### Messages
|
|
16
|
+
- **Send**: Send a WhatsApp message (text, image, video, audio, document, template, interactive, location, contacts, sticker, reaction)
|
|
17
|
+
- **Retry**: Retry a failed message
|
|
18
|
+
|
|
19
|
+
### Media
|
|
20
|
+
- **Upload**: Upload media to WhatsApp CDN
|
|
21
|
+
|
|
22
|
+
### Conversations
|
|
23
|
+
- **List**: Get all conversations
|
|
24
|
+
- **Get**: Get a specific conversation
|
|
25
|
+
- **Get by Phone**: Find conversation by phone number
|
|
26
|
+
- **Get Messages**: Get message history
|
|
27
|
+
- **Close**: Close a conversation
|
|
28
|
+
- **Archive**: Archive a conversation
|
|
29
|
+
- **Mark Read**: Mark as read
|
|
30
|
+
- **Set AI**: Enable/disable AI for conversation
|
|
31
|
+
- **Pause AI**: Pause AI temporarily
|
|
32
|
+
- **AI Suggest**: Get AI suggestion without sending
|
|
33
|
+
|
|
34
|
+
### Agent
|
|
35
|
+
- **Toggle**: Enable/disable AI globally
|
|
36
|
+
- **Pause**: Pause AI globally for X minutes
|
|
37
|
+
|
|
38
|
+
### Templates
|
|
39
|
+
- **List**: Get all WhatsApp templates
|
|
40
|
+
- **Get**: Get a specific template
|
|
41
|
+
- **Get Variables**: Get available template variables
|
|
42
|
+
- **Sync**: Sync templates from Meta
|
|
43
|
+
|
|
44
|
+
### Contacts
|
|
45
|
+
- **List**: Get all contacts
|
|
46
|
+
- **Get**: Get a specific contact
|
|
47
|
+
- **Create**: Create a new contact
|
|
48
|
+
- **Update**: Update a contact
|
|
49
|
+
- **Delete**: Delete a contact
|
|
50
|
+
- **Search**: Advanced search
|
|
51
|
+
- **Bulk**: Bulk operations
|
|
52
|
+
- **Merge**: Merge two contacts
|
|
53
|
+
- **Get Tags**: Get all tags
|
|
54
|
+
- **Get Fields**: Get custom fields
|
|
55
|
+
|
|
56
|
+
### Funnel
|
|
57
|
+
- **List Stages**: Get all funnel stages
|
|
58
|
+
- **Get Stage**: Get a specific stage
|
|
59
|
+
- **Create Stage**: Create a new stage
|
|
60
|
+
- **Update Stage**: Update a stage
|
|
61
|
+
- **Delete Stage**: Delete a stage
|
|
62
|
+
- **Reorder Stages**: Reorder stages
|
|
63
|
+
- **Move Contact**: Move contact to stage
|
|
64
|
+
|
|
65
|
+
### Trigger
|
|
66
|
+
Listen for webhook events:
|
|
67
|
+
- `message.received` - Incoming message
|
|
68
|
+
- `message.sent` - Message sent
|
|
69
|
+
- `message.delivered` - Message delivered
|
|
70
|
+
- `message.read` - Message read
|
|
71
|
+
- `message.failed` - Message failed
|
|
72
|
+
- `conversation.created` - New conversation
|
|
73
|
+
- `conversation.updated` - Conversation updated
|
|
74
|
+
- `conversation.handoff` - Handoff to human
|
|
75
|
+
|
|
76
|
+
## Credentials
|
|
77
|
+
|
|
78
|
+
To use this node, you need a Whaapy API Key. Get yours from [app.whaapy.com](https://app.whaapy.com) → Settings → API Keys.
|
|
79
|
+
|
|
80
|
+
## Resources
|
|
81
|
+
|
|
82
|
+
- [Whaapy Documentation](https://docs.whaapy.com)
|
|
83
|
+
- [n8n Community Nodes Documentation](https://docs.n8n.io/integrations/community-nodes/)
|
|
84
|
+
|
|
85
|
+
## License
|
|
86
|
+
|
|
87
|
+
[MIT](LICENSE)
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { IAuthenticateGeneric, ICredentialTestRequest, ICredentialType, INodeProperties } from 'n8n-workflow';
|
|
2
|
+
export declare class WhaapyApi implements ICredentialType {
|
|
3
|
+
name: string;
|
|
4
|
+
displayName: string;
|
|
5
|
+
documentationUrl: string;
|
|
6
|
+
properties: INodeProperties[];
|
|
7
|
+
authenticate: IAuthenticateGeneric;
|
|
8
|
+
test: ICredentialTestRequest;
|
|
9
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.WhaapyApi = void 0;
|
|
4
|
+
class WhaapyApi {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.name = 'whaapyApi';
|
|
7
|
+
this.displayName = 'Whaapy API';
|
|
8
|
+
this.documentationUrl = 'https://docs.whaapy.com/api-reference/authentication';
|
|
9
|
+
this.properties = [
|
|
10
|
+
{
|
|
11
|
+
displayName: 'API Key',
|
|
12
|
+
name: 'apiKey',
|
|
13
|
+
type: 'string',
|
|
14
|
+
typeOptions: { password: true },
|
|
15
|
+
default: '',
|
|
16
|
+
required: true,
|
|
17
|
+
description: 'Your Whaapy API Key (starts with wha_). Get it from app.whaapy.com → Settings → API Keys.',
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
displayName: 'Base URL',
|
|
21
|
+
name: 'baseUrl',
|
|
22
|
+
type: 'string',
|
|
23
|
+
default: 'https://api.whaapy.com',
|
|
24
|
+
description: 'The base URL for the Whaapy API',
|
|
25
|
+
},
|
|
26
|
+
];
|
|
27
|
+
this.authenticate = {
|
|
28
|
+
type: 'generic',
|
|
29
|
+
properties: {
|
|
30
|
+
headers: {
|
|
31
|
+
Authorization: '=Bearer {{$credentials.apiKey}}',
|
|
32
|
+
},
|
|
33
|
+
},
|
|
34
|
+
};
|
|
35
|
+
this.test = {
|
|
36
|
+
request: {
|
|
37
|
+
baseURL: '={{$credentials.baseUrl}}',
|
|
38
|
+
url: '/auth/me',
|
|
39
|
+
},
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
exports.WhaapyApi = WhaapyApi;
|