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.
86 lines • 4.11 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.pixListLocationRecurrenceAutomatic = void 0;
const sdk_node_apis_efi_1 = __importDefault(require("sdk-node-apis-efi"));
const credentials_1 = __importDefault(require("../../../../../interfaces/credentials"));
async function pixListLocationRecurrenceAutomatic(context, index) {
try {
const options = await credentials_1.default.call(context);
const efipay = new sdk_node_apis_efi_1.default(options);
const inicio = context.getNodeParameter('inicio', index);
const fim = context.getNodeParameter('fim', index);
const params = {
inicio,
fim,
};
const idRecPresente = context.getNodeParameter('idRecPresente', index);
const convenio = context.getNodeParameter('convenio', index);
const paginaAtual = context.getNodeParameter('paginaAtual', index);
const itensPorPagina = context.getNodeParameter('itensPorPagina', index);
if (idRecPresente && idRecPresente !== 'none')
params.idRecPresente = idRecPresente;
if (convenio === null || convenio === void 0 ? void 0 : convenio.trim())
params.convenio = convenio;
if (typeof paginaAtual === 'number' && !isNaN(paginaAtual))
params['paginacao.paginaAtual'] = paginaAtual;
if (typeof itensPorPagina === 'number' && !isNaN(itensPorPagina))
params['paginacao.itensPorPagina'] = itensPorPagina;
const resposta = await efipay.pixListLocationRecurrenceAutomatic(params);
return resposta;
}
catch (error) {
let mensagemErro = error.message || error.mensagem || error.detail || "Ocorreu um erro desconhecido";
if (typeof error === 'string') {
mensagemErro = error;
}
else if (error.error && error.error_description) {
mensagemErro = `${error.error}: ${error.error_description}`;
}
else if (error.response && error.response.data) {
if (typeof error.response.data === 'string') {
try {
const parsedData = JSON.parse(error.response.data);
mensagemErro = parsedData.message || parsedData.mensagem || mensagemErro;
error = parsedData;
}
catch {
mensagemErro = error.response.data;
}
}
else {
mensagemErro = error.response.data.message || error.response.data.mensagem || mensagemErro;
error = error.response.data;
}
}
if (mensagemErro.includes("sandbox") || mensagemErro.includes("certificate")) {
throw new Error("Verifique o atributo sandbox e certificate, e garanta que eles estejam corretamente atribuídos para o ambiente desejado.");
}
if (error.violacoes && Array.isArray(error.violacoes) && error.violacoes.length > 0) {
const primeiraViolacao = error.violacoes[0];
throw new Error(JSON.stringify({
nome: error.nome || 'violacao',
mensagem: mensagemErro,
violacao: {
razao: primeiraViolacao.razao,
propriedade: primeiraViolacao.propriedade
}
}));
}
if (error.erros && Array.isArray(error.erros) && error.erros.length > 0) {
throw new Error(JSON.stringify({
nome: error.nome || 'json_invalido',
mensagem: mensagemErro,
errosDetalhados: error.erros
}));
}
throw new Error(JSON.stringify({
nome: error.nome || error.code || 'erro_desconhecido',
mensagem: mensagemErro
}));
}
}
exports.pixListLocationRecurrenceAutomatic = pixListLocationRecurrenceAutomatic;
//# sourceMappingURL=pixListLocationRecurrenceAutomatic.js.map