n8n/packages/nodes-base/nodes/WhatsApp/WhatsApp.node.ts

55 lines
1.2 KiB
TypeScript

import type { INodeType, INodeTypeDescription } from 'n8n-workflow';
import { NodeConnectionType } from 'n8n-workflow';
import { messageFields, messageTypeFields } from './MessagesDescription';
import { mediaFields, mediaTypeFields } from './MediaDescription';
export class WhatsApp implements INodeType {
description: INodeTypeDescription = {
displayName: 'WhatsApp Business Cloud',
name: 'whatsApp',
icon: 'file:whatsapp.svg',
group: ['output'],
version: 1,
subtitle: '={{ $parameter["resource"] + ": " + $parameter["operation"] }}',
description: 'Access WhatsApp API',
defaults: {
name: 'WhatsApp Business Cloud',
},
inputs: [NodeConnectionType.Main],
outputs: [NodeConnectionType.Main],
credentials: [
{
name: 'whatsAppApi',
required: true,
},
],
requestDefaults: {
baseURL: 'https://graph.facebook.com/v13.0/',
},
properties: [
{
displayName: 'Resource',
name: 'resource',
type: 'options',
noDataExpression: true,
options: [
{
name: 'Message',
value: 'message',
},
{
name: 'Media',
value: 'media',
},
],
default: 'message',
},
...messageFields,
...mediaFields,
...messageTypeFields,
...mediaTypeFields,
],
};
}