@projetoacbr/acbrlib-cte-node
v1.0.3
Published
Classe de alto nível para carregar a ACBrLibCTe (Multi-Thread) em Node.js
Readme
@projetoacbr/acbrlib-cte-node
📋 Descrição
ACBrLib CTe Node é uma implementação específica para Conhecimento de Transporte Eletrônico (CTe) que fornece uma interface de alto nível para todas as funcionalidades da ACBrLibCTe. Esta classe permite emissão, cancelamento, consultas, inutilização e outras operações relacionadas ao CTe.
🏗️ Arquitetura
Esta classe (ACBrLibCTeMT) estende ACBrLibDFeMT e implementa todos os métodos específicos do CTe, herdando funcionalidades comuns dos pacotes base.
📦 Instalação
npm install @projetoacbr/acbrlib-cte-node📖 Como Usar
🎯 Importação
📝 TypeScript (Recomendado)
// Importa a classe ACBrLibCTeMT oficial conforme documentação
import ACBrLibCTeMT from "@projetoacbr/acbrlib-cte-node/dist/src";⚙️ Configuração tsconfig.json recomendada:
{
"compilerOptions": {
"target": "es2022",
"module": "commonjs",
"strict": true,
"esModuleInterop": true,
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true
}
}🔧 JavaScript/CommonJS
const ACBrLibCTeMT = require('@projetoacbr/acbrlib-cte-node/dist/src').default🔧 Uso Básico
TypeScript
import path from "path";
import os from "os";
const libName = os.platform() === 'win32' ? 'ACBrCTe64.dll' : 'libacbrcte64.so';
const libPath = path.resolve(__dirname, libName);
const eArqConfig = path.resolve(__dirname, 'data', 'config', 'acbrlib.ini');
const acbrCTe = new ACBrLibCTeMT(libPath, eArqConfig, '');JavaScript/CommonJS
const path = require('path');
const os = require('os');
const libName = os.platform() === 'win32' ? 'ACBrCTe64.dll' : 'libacbrcte64.so';
const libPath = path.resolve(__dirname, libName);
const eArqConfig = path.resolve(__dirname, 'data', 'config', 'acbrlib.ini');
const acbrCTe = new ACBrLibCTeMT(libPath, eArqConfig, '');
// Inicializar a biblioteca
acbrCTe.inicializar();
// Carregar XML
acbrCTe.carregarXML('./cte.xml');
// Validar e assinar
acbrCTe.validar();
acbrCTe.assinar();
// Enviar
const resposta = acbrCTe.enviar(1, false, true);🔧 Funcionalidades
Métodos Herdados (DFe Comum)
inicializar(),finalizar()carregarXML(),carregarINI()obterXml(),obterIni()gravarXml(),gravarIni()imprimirPDF(),salvarPDF()enviarEmail()
Métodos Específicos do CTe
Emissão e Envio
enviar(lote, imprimir, sincrono)enviarEvento(idLote)
Cancelamento
cancelar(chave, justificativa, CNPJ, lote)
Consultas
statusServico()consultar(chaveOuDocumento, extrairEventos)consultarRecibo(recibo)
Distribuição DFe
distribuicaoDFePorUltNSU(ufAutor, cnpjCpf, ultNSU)distribuicaoDFePorNSU(ufAutor, cnpjCpf, NSU)distribuicaoDFePorChave(ufAutor, cnpjCpf, chave)
Eventos
carregarEventoXML(arquivoXML)carregarEventoINI(arquivoINI)limparListaEventos()
🔗 Dependências
- @projetoacbr/acbrlib-dfe-node - Classe base para DFe
📚 Documentação
Para informações detalhadas sobre cada método, consulte a documentação JSDoc incluída no código fonte.
🤝 Contribuição
- Fork o projeto
- Crie uma branch para sua feature
- Commit suas mudanças
- Push para a branch
- Abra um Pull Request
📞 Suporte
- Issues: GitHub Issues
- Documentação ACBrLib: https://acbr.sourceforge.io/ACBrLib/BemVindo.html
📋 Changelog
Para o histórico de mudanças entre versões publicadas, consulte o ChangeLog.md.
📄 Licença
LGPL-2.1 License - veja o arquivo LICENSE para detalhes.
ACBrLib CTe Node - Interface Node.js para ACBrLibCTe
Versão: 1.0.3
Desenvolvido por: Projeto ACBr
