n8n-nodes-efibank
Version:
Nó personalizado para integração com as APIs Cobranças e Pix do Efibank, permitindo operações de pagamentos, recebimentos e gerenciamento de transações financeiras.
73 lines • 2.9 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.EfiBankCobApi = void 0;
class EfiBankCobApi {
constructor() {
this.name = 'EfiBankCobApi';
this.displayName = 'Efí Bank | API Cobranças';
this.documentationUrl = 'https://dev.efipay.com.br/docs/api-cobrancas/credenciais';
this.properties = [
{
displayName: 'Ambiente',
name: 'environment',
type: 'options',
options: [
{ name: 'Homologação', value: 'homolog' },
{ name: 'Produção', value: 'prod' },
],
default: 'homolog',
required: true,
description: 'Selecione o ambiente correto para suas credenciais',
},
{
displayName: 'Chave Client ID Produção',
name: 'clientIdProd',
type: 'string',
default: '',
required: true,
},
{
displayName: 'Chave Client Secret Produção',
name: 'clientSecretProd',
type: 'string',
default: '',
required: true,
},
{
displayName: 'Chave Client ID Homologação',
name: 'clientIdHomolog',
type: 'string',
default: '',
required: true,
},
{
displayName: 'Chave Client Secret Homologação',
name: 'clientSecretHomolog',
type: 'string',
default: '',
required: true,
},
];
this.test = {
request: {
baseURL: '={{$credentials.environment === "prod" ? "https://cobrancas.api.efipay.com.br" : "https://cobrancas-h.api.efipay.com.br" }}',
url: '/v1/authorize',
method: 'POST',
},
};
}
async authenticate(credentials, requestOptions) {
const isProd = credentials.environment === 'prod';
const clientId = isProd ? credentials.clientIdProd : credentials.clientIdHomolog;
const clientSecret = isProd ? credentials.clientSecretProd : credentials.clientSecretHomolog;
const encodedApiKey = Buffer.from(`${clientId}:${clientSecret}`).toString('base64');
requestOptions.headers = requestOptions.headers || {};
requestOptions.body = requestOptions.body || {};
requestOptions.headers.Authorization = `Basic ${encodedApiKey}`;
requestOptions.headers['Content-Type'] = 'application/json';
requestOptions.body['grant_type'] = 'client_credentials';
return requestOptions;
}
}
exports.EfiBankCobApi = EfiBankCobApi;
//# sourceMappingURL=EfiBankCobApi.credentials.js.map