api-functions
v1.0.29
Published
Funcões para api's de integrações
Downloads
101
Maintainers
Readme
api-functions
Funções para API's de Integrações
Compilação
Os arquivos contidos no diretório src
precisam ser compilados para serem gerados arquivos de declarações ( .d.ts ) no diretório lib
.
Construa com npm
npm run build
Instalação
Instale com npm
npm install api-functions
Atualização
Atualize com npm
npm update api-functions
Publicação
Publique em sua conta npm
. Se necessário, faça login em sua conta da npm com npm login
. À seguir informe seu usuário e senha.
Publique com npm
npm publish
Exemplos
Registro de boletos do Bradesco.
Registra_Boleto_Bradesco
const PFX_Path = "Arquivo.pfx";
const PFX_Pass = "123456";
const JSN_Data = {
"nuCPFCNPJ" : "123456789",
"filialCPFCNPJ" : "0001",
"ctrlCPFCNPJ" : "39",
"cdTipoAcesso" : "2",
"clubBanco" : "0",
"cdTipoContrato" : "0",
"nuSequenciaContrato" : "0",
"idProduto" : "09",
"nuNegociacao" : "123400000001234567",
"cdBanco" : "237",
"eNuSequenciaContrato" : "0",
"tpRegistro" : "1",
"cdProduto" : "0",
"nuTitulo" : "0",
"nuCliente" : "123456",
"dtEmissaoTitulo" : "25.05.2017",
"dtVencimentoTitulo" : "20.06.2017",
"tpVencimento" : "0",
"vlNominalTitulo" : "100",
"cdEspecieTitulo" : "04",
"tpProtestoAutomaticoNegativacao" : "0",
"prazoProtestoAutomaticoNegativacao" : "0",
"controleParticipante" : "",
"cdPagamentoParcial" : "",
"qtdePagamentoParcial" : "0",
"percentualJuros" : "0",
"vlJuros" : "0",
"qtdeDiasJuros" : "0",
"percentualMulta" : "0",
"vlMulta" : "0",
"qtdeDiasMulta" : "0",
"percentualDesconto1" : "0",
"vlDesconto1" : "0",
"dataLimiteDesconto1" : "",
"percentualDesconto2" : "0",
"vlDesconto2" : "0",
"dataLimiteDesconto2" : "",
"percentualDesconto3" : "0",
"vlDesconto3" : "0",
"dataLimiteDesconto3" : "",
"prazoBonificacao" : "0",
"percentualBonificacao" : "0",
"vlBonificacao" : "0",
"dtLimiteBonificacao" : "",
"vlAbatimento" : "0",
"vlIOF" : "0",
"nomePagador" : "Cliente Teste",
"logradouroPagador" : "rua Teste",
"nuLogradouroPagador" : "90",
"complementoLogradouroPagador" : "",
"cepPagador" : "12345",
"complementoCepPagador" : "500",
"bairroPagador" : "bairro Teste",
"municipioPagador" : "Teste",
"ufPagador" : "SP",
"cdIndCpfcnpjPagador" : "1",
"nuCpfcnpjPagador" : "12345648901234",
"endEletronicoPagador" : "",
"nomeSacadorAvalista" : "",
"logradouroSacadorAvalista" : "",
"nuLogradouroSacadorAvalista" : "0",
"complementoLogradouroSacadorAvalista" : "",
"cepSacadorAvalista" : "0",
"complementoCepSacadorAvalista" : "0",
"bairroSacadorAvalista" : "",
"municipioSacadorAvalista" : "",
"ufSacadorAvalista" : "",
"cdIndCpfcnpjSacadorAvalista" : "0",
"nuCpfcnpjSacadorAvalista" : "0",
"endEletronicoSacadorAvalista" : ""
};
const functions = require("api-functions").Functions;
const Functions = new functions;
Functions.Registra_Boleto_Bradesco( PFX_Path, PFX_Pass, JSN_Data )
.then( result => {
console.log( result );
})
.catch( error => {
console.log( error );
});
Nota Fiscal Eletrônica em NodeJS
Parâmetros antes da chamada das funções de WebService
Você deve passar esses parâmetros na chamada da função NFe_Parametros
.
| Parâmetro | Padrão | Descrição |
|:----------------------|:--------|:------------|
| WebService
| | WebServices aceitáveis: NFeStatusServico
, NFeAutorizacao
, NFeLoteAutorizacao
, NFeRetAutorizacao
, NFeDistDFeInteresse
,
| | | NFeConsultaProtocolo
|
| UF
| SP
| Sigla do estado que hospeda o WebService. |
| Ambiente
| 2
| Ambiente de consumo: 1 Produção 2 Homologação. |
| ValidaXML
| false
| Quando true, o XML passa pelo parser XSD determinado pela Receita. |
| PFX_Repositorio
| | Se possuir repositório, informar de onde será baixado o arquivo do certificado digital. |
| | | Se não possuir repositório, é obrigatório informar o arquivo local do certificado digital no pâmetro PFX_Arquivo
. |
| PFX_Diretorio
| | Informe o diretório local de destino do certificado digital. |
| | | OBSERVAÇÃO: Caso o arquivo já conste no diretório o Sistema não irá fazer o download do arquivo do repositório. Portanto, se houver |
| | | atualização do arquivo no repositório, delete o arquivo no diretório de destino para fazer o download com o arquivo atualizado. |
| | | O arquivo sempre será salvo no diretório de destino com nome igual CNPJ informado em Empresa_CNPJ
. |
| PFX_Arquivo
| | Quando não possuir repositório, deixe em branco PFX_Repositorio
e use o arquivo diretamente do local informado. |
| PFX_Senha
| | Senha do certificado digital. |
| Empresa_CNPJ
| | CNPJ do emitente sem pontuação( 14 caracteres ). |
| Empresa_UF
| | Sigla do estado do emitente. |
const PFX_Repositorio = "";//"http://www.repositorio.com.br/certificado.pfx";
const PFX_Diretorio = "C:\\Temp\\";
const PFX_Arquivo = "C:\\Temp\\certificado.pfx";
const PFX_Senha = "123456";
const Empresa_CNPJ = "12345678901234";
const Empresa_UF = "SP";
Exemplo de consulta de Status do Serviço NF-e
const WebService = "NFeStatusServico";
const UF = "SP";
const Ambiente = "2";
const ValidaXML = true;
const Parametros = NFe.NFe_Parametros( WebService, UF, Ambiente, ValidaXML, PFX_Repositorio, PFX_Diretorio, PFX_Arquivo, PFX_Senha, Empresa_CNPJ, Empresa_UF );
NFe.NFeStatusServico( Parametros )
.then( result => {
console.log( result );
})
.catch( error => {
console.log( error );
});
Exemplo de Envio de Lote de NF-e com 1 ou várias NFe's
// Observação 1: É necessário que o XML enviado tenha a tag <NFe xmlns="http://www.portalfiscal.inf.br/nfe">...</NFe>
// Observação 2: O Sistema criará a tag <Signature> no padrão exigido pela SEFAZ de acordo com a chave privada e pública do certificado digital
const Fs = require('fs');
const Path = require('path');
let WebService = "NFeLoteAutorizacao";
let UF = "SP";
let Ambiente = "2";
let ValidaXML = false;
let NFe_XML = Fs.readFileSync( Path.join( __dirname, '../repositories/xmls/', 'NFe.xml' ) );
let XMLs = [];
XMLs.push( NFe_XML );
let Parametros = NFe.NFe_Parametros( WebService, UF, Ambiente, ValidaXML, PFX_Repositorio, PFX_Diretorio, PFX_Arquivo, PFX_Senha, Empresa_CNPJ, Empresa_UF );
Parametros.Path_ArquivosNFe = "C:\\Temp\\";
NFe.NFeLoteAutorizacao( Parametros, XMLs )
.then( NFe_Recibo => {
let WebService = "NFeRetAutorizacao";
let UF = "SP";
let Ambiente = "2";
let ValidaXML = false;
let Parametros = NFe.NFe_Parametros( WebService, UF, Ambiente, ValidaXML, PFX_Repositorio, PFX_Diretorio, PFX_Arquivo, PFX_Senha, Empresa_CNPJ, Empresa_UF );
// É possível alterar o diretório onde serão salvo os arquivos XMLs de envio e retorno
Parametros.Path_ArquivosNFe = "C:\\Temp\\";
NFe.NFeRetAutorizacao( Parametros, NFe_Recibo )
.then( result => {
console.log( result );
})
.catch( error => {
console.log( error );
});
})
.catch( error => {
console.log( error );
});
Exemplo de download de XML da NF-e
const WebService = "NFeDistDFeInteresse";
const UF = "SP";
const Ambiente = "2";
const ValidaXML = false;
const NFe_Chave = "35000000000000000000000000000000000000000000" ;
const Parametros = NFe.NFe_Parametros( WebService, UF, Ambiente, ValidaXML, PFX_Repositorio, PFX_Diretorio, PFX_Arquivo, PFX_Senha, Empresa_CNPJ, Empresa_UF );
NFe.NFeDistDFeInteresse( Parametros, NFe_Chave )
.then( result => {
console.log( result );
})
.catch( error => {
console.log( error );
});