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 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;
@@ -0,0 +1,4 @@
1
+ import { INodeType, INodeTypeDescription } from 'n8n-workflow';
2
+ export declare class Whaapy implements INodeType {
3
+ description: INodeTypeDescription;
4
+ }