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.

112 lines 4.76 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.execute = void 0; const cobService_1 = require("./services/cobService"); const cobvService_1 = require("./services/cobvService"); const paymentService_1 = require("./services/paymentService"); const managementService_1 = require("./services/managementService"); const locationService_1 = require("./services/locationService"); const batchService_1 = require("./services/batchService"); const splitService_1 = require("./services/splitService"); const webhooksService_1 = require("./services/webhooksService"); const exclusivesService_1 = require("./services/exclusivesService"); const automaticService_1 = require("./services/automaticService"); async function execute(endpoint, i) { const returnData = []; const transactionType = this.getNodeParameter('transactionType', i); try { let response; switch (transactionType) { case 'cob': response = await cobService_1.cobService.call(this, endpoint, i); break; case 'cobv': response = await cobvService_1.cobvService.call(this, endpoint, i); break; case 'automatic': response = await automaticService_1.automaticService.call(this, endpoint, i); break; case 'payment': response = await paymentService_1.paymentService.call(this, endpoint, i); break; case 'management': response = await managementService_1.managementService.call(this, endpoint, i); break; case 'location': response = await locationService_1.locationService.call(this, endpoint, i); break; case 'batch': response = await batchService_1.batchService.call(this, endpoint, i); break; case 'split': response = await splitService_1.splitService.call(this, endpoint, i); break; case 'webhooks': response = await webhooksService_1.webhooksService.call(this, endpoint, i); break; case 'exclusives': response = await exclusivesService_1.exclusivesService.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