UNPKG

n8n-nodes-whatsapp-media-processor

Version:
110 lines 5.22 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.WhatsappMediaProcessorApi = void 0; const axios_1 = __importDefault(require("axios")); class WhatsappMediaProcessorApi { constructor() { this.name = 'whatsappMediaProcessorApi'; this.displayName = 'WhatsApp Media Processor API'; this.documentationUrl = ''; this.properties = [ { displayName: 'OpenAI API Key', name: 'openaiApiKey', type: 'string', typeOptions: { password: true, }, default: '', required: true, description: 'Chave da API da OpenAI', }, { displayName: 'WhatsApp Cloud API Key', name: 'whatsappApiKey', type: 'string', typeOptions: { password: true, }, default: '', required: true, description: 'Chave da API do WhatsApp Cloud', }, { displayName: 'WhatsApp Business ID', name: 'whatsappBusinessId', type: 'string', default: '', required: true, description: 'ID da conta empresarial do WhatsApp', }, { displayName: 'Chave de Licença', name: 'licenseKey', type: 'string', typeOptions: { password: true, }, default: '', required: true, description: 'Sua chave de licença para usar este nó', }, ]; // Definição de como testar as credenciais this.test = { request: { baseURL: 'https://n8n.wizebot.com.br', url: '/webhook/4972002d-c986-41c4-86c3-43e5b60c7e36', method: 'POST', body: { licenseKey: '={{ $credentials.licenseKey }}', }, }, }; } async authenticate(credentials, requestOptions) { var _a; const licenseKey = credentials.licenseKey; console.log(`[WhatsappMediaProcessorApi] Autenticando com licença: ${licenseKey.substring(0, 4)}...`); // Sempre validar a licença com o servidor para garantir que está atualizada try { console.log('[WhatsappMediaProcessorApi] Enviando requisição para validar licença...'); const response = await axios_1.default.post('https://n8n.wizebot.com.br/webhook/4972002d-c986-41c4-86c3-43e5b60c7e36', { licenseKey }, { timeout: 10000, headers: { 'Content-Type': 'application/json', 'User-Agent': 'WhatsappMediaProcessor/1.0' } }); console.log(`[WhatsappMediaProcessorApi] Resposta recebida: ${JSON.stringify(response.data)}`); const isValid = ((_a = response.data) === null || _a === void 0 ? void 0 : _a.valid) === true; WhatsappMediaProcessorApi.licenseCache.set(licenseKey, isValid); if (!isValid) { console.error('[WhatsappMediaProcessorApi] Licença inválida!'); throw new Error('Chave de licença inválida'); } console.log('[WhatsappMediaProcessorApi] Licença validada com sucesso!'); } catch (error) { console.error(`[WhatsappMediaProcessorApi] Erro ao validar licença: ${(error === null || error === void 0 ? void 0 : error.message) || 'Erro desconhecido'}`); // Se for um erro de rede, verificar o cache como fallback if ((error === null || error === void 0 ? void 0 : error.code) === 'ECONNREFUSED' || (error === null || error === void 0 ? void 0 : error.code) === 'ETIMEDOUT' || (error === null || error === void 0 ? void 0 : error.code) === 'ENOTFOUND') { console.log('[WhatsappMediaProcessorApi] Erro de conexão, verificando cache...'); if (WhatsappMediaProcessorApi.licenseCache.has(licenseKey) && WhatsappMediaProcessorApi.licenseCache.get(licenseKey) === true) { console.log('[WhatsappMediaProcessorApi] Licença válida encontrada em cache!'); return requestOptions; } } // Para qualquer outro erro ou se não encontrou no cache, lançar erro throw new Error(`Erro ao validar licença: ${(error === null || error === void 0 ? void 0 : error.message) || 'Erro desconhecido'}`); } return requestOptions; } } exports.WhatsappMediaProcessorApi = WhatsappMediaProcessorApi; WhatsappMediaProcessorApi.licenseCache = new Map(); //# sourceMappingURL=WhatsappMediaProcessorApi.credentials.js.map