UNPKG

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
"use strict"; 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