UNPKG

n8n-walichat

Version:

n8n plugin for WaliChat

94 lines (93 loc) 3.34 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.SendMessage = void 0; const BaseNode_1 = require("../Base/BaseNode"); const commonProperties_1 = require("./commonProperties"); class SendMessage extends BaseNode_1.BaseNode { constructor() { super(...arguments); this.description = { displayName: 'Send WhatsApp message', name: 'walichatSendMessage', group: ['Messages'], version: 1, icon: 'file:../../../icon.png', description: 'Send a text message using the WaliChat API', defaults: { name: 'Send Message', color: '#1A82e2', }, inputs: ["main" /* NodeConnectionType.Main */], outputs: ["main" /* NodeConnectionType.Main */], credentials: [ { name: 'WaliChatApiKey', required: true, }, ], properties: [ { displayName: 'Message', name: 'message', type: 'string', default: '', placeholder: 'Enter the message text...', description: 'The text message to send.', required: true, }, { displayName: 'Delivery Date', name: 'deliverAt', type: 'string', validateType: 'dateTime', default: '', placeholder: 'Enter the delivery date: 2025-06-01T12:30:00Z', description: 'The date and time to deliver the message (ISO 8601 format). E.g: 2025-06-01T12:30:00Z', required: false, }, ...commonProperties_1.commonProperties, ], }; } async execute() { const items = this.getInputData(); const returnData = []; for (let i = 0; i < items.length; i++) { const apiKey = this.getNodeParameter('apiKey', i); const device = this.getNodeParameter('device', i); const phoneNumber = this.getNodeParameter('phoneNumber', i); const message = this.getNodeParameter('message', i); const deliverAt = this.getNodeParameter('deliverAt', i); const requestBody = { device, phone: phoneNumber, message, }; if (deliverAt) { requestBody.deliverAt = deliverAt; } try { const response = await super.request({ path: '/messages', method: 'POST', body: requestBody, headers: { 'Authorization': `Bearer ${apiKey}`, }, }); returnData.push({ json: response, }); } catch (error) { returnData.push({ json: { error: error.message, }, }); } } return [returnData]; } } exports.SendMessage = SendMessage;