mtd-functions

1.0.187 • Public • Published

mtd-functions

Funções para API's de Integrações

InfiniteGraph Logo

JavaScript Style Guide

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 mtd-functions

Atualização

Atualize com npm

npm update mtd-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("mtd-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 );
});

Package Sidebar

Install

npm i mtd-functions

Weekly Downloads

7

Version

1.0.187

License

ISC

Unpacked Size

257 kB

Total Files

15

Last publish

Collaborators

  • timtd