UNPKG

n8n-nodes-evolution-api

Version:
94 lines 3.52 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.sendStories = sendStories; const n8n_workflow_1 = require("n8n-workflow"); const evolutionRequest_1 = require("../evolutionRequest"); async function sendStories(ef) { try { const instanceName = ef.getNodeParameter('instanceName', 0); const content = ef.getNodeParameter('content', 0); const type = ef.getNodeParameter('type', 0); const caption = ef.getNodeParameter('caption', 0, ''); const allContacts = ef.getNodeParameter('allContacts', 0, false); const backgroundColor = ef.getNodeParameter('backgroundColor', 0, '#000000'); const font = ef.getNodeParameter('font', 0, 1); if (type !== 'text' && !content.startsWith('http') && !content.startsWith('data:')) { const errorData = { success: false, error: { message: 'Formato de conteúdo inválido', details: 'O conteúdo deve ser uma URL válida ou um base64', code: 'INVALID_CONTENT_FORMAT', timestamp: new Date().toISOString(), }, }; return { json: errorData, error: errorData, }; } const body = { type, content, backgroundColor, font, allContacts }; if ((type === 'image' || type === 'video') && caption) { body.caption = caption; } if (!allContacts) { const statusJidList = ef.getNodeParameter('statusJidList', 0, ''); if (statusJidList) { body.statusJidList = statusJidList.split(',') .map(num => num.trim()) .map(num => num.includes('@s.whatsapp.net') ? num : `${num}@s.whatsapp.net`); } } const requestOptions = { method: 'POST', headers: { 'Content-Type': 'application/json', }, uri: `/message/sendStatus/${instanceName}`, body, json: true, }; const response = await (0, evolutionRequest_1.evolutionRequest)(ef, requestOptions); if (!response) { throw new Error('Resposta vazia do servidor'); } return { json: { success: true, data: response, }, }; } catch (error) { const errorData = { success: false, error: { message: error.message.includes('Could not get parameter') ? 'Parâmetros inválidos ou ausentes' : 'Erro ao enviar status', details: error.message.includes('Could not get parameter') ? 'Verifique se todos os campos obrigatórios foram preenchidos corretamente' : error.message, code: error.code || 'UNKNOWN_ERROR', timestamp: new Date().toISOString(), }, }; if (!ef.continueOnFail()) { throw new n8n_workflow_1.NodeOperationError(ef.getNode(), error.message, { message: errorData.error.message, description: errorData.error.details, }); } return { json: errorData, error: errorData, }; } } //# sourceMappingURL=sendStories.js.map