UNPKG

n8n-nodes-efibank

Version:

Nó personalizado para integração com as APIs Cobranças e Pix do Efi Bank, permitindo operações de pagamentos, recebimentos e gerenciamento de transações financeiras.

100 lines 4.14 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.execute = void 0; const boletoService_1 = require("./services/boletoService"); const cartaoService_1 = require("./services/cartaoService"); const carneService_1 = require("./services/carneService"); const assinaturaService_1 = require("./services/assinaturaService"); const linkService_1 = require("./services/linkService"); const splitService_1 = require("./services/splitService"); const notificacaoService_1 = require("./services/notificacaoService"); async function execute(endpoint, i) { const returnData = []; const transactionType = this.getNodeParameter('transactionType', i); try { let response; switch (transactionType) { case 'boleto': response = await boletoService_1.boletoService.call(this, endpoint, i); break; case 'cartao': response = await cartaoService_1.cartaoService.call(this, endpoint, i); break; case 'carne': response = await carneService_1.carneService.call(this, endpoint, i); break; case 'assinatura': response = await assinaturaService_1.assinaturaService.call(this, endpoint, i); break; case 'link': response = await linkService_1.linkService.call(this, endpoint, i); break; case 'split': response = await splitService_1.splitService.call(this, endpoint, i); break; case 'notificacao': response = await notificacaoService_1.notificacaoService.call(this, endpoint, i); break; default: throw new Error(`Erro: '${transactionType}' não é um tipo de transação válida.`); } returnData.push({ json: response }); } catch (error) { this.logger.error('Erro ao executar a requisição:', error); if (error.isAxiosError) { if (error.response) { const responseData = error.response.data; let errorMessage = 'Erro na API'; let errorDetails = {}; if (typeof responseData === 'object') { errorMessage = responseData.message || responseData.error_description || responseData.error || `Error ${error.response.status}: ${error.response.statusText}`; errorDetails = responseData; } else if (typeof responseData === 'string') { errorMessage = responseData; try { errorDetails = JSON.parse(responseData); } catch (e) { errorDetails = { rawResponse: responseData }; } } this.logger.error('Erro detalhado da API:', { statusCode: error.response.status, message: errorMessage, details: JSON.stringify(errorDetails, null, 2) }); returnData.push({ json: { success: false, status: error.response.status, statusText: error.response.statusText, message: errorMessage, details: errorDetails }, }); } else { this.logger.error('Erro na requisição:', error.message); returnData.push({ json: { error: error.message } }); } } else { this.logger.error('Erro desconhecido:', error.message); returnData.push({ json: { error: error.message } }); } if (this.continueOnFail()) { return returnData; } else { throw error; } } return returnData; } exports.execute = execute; //# sourceMappingURL=Services.js.map