nfe-lib-node 1.4.0 → 1.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +60 -5
- package/dist/Assinador.d.ts +8 -0
- package/dist/Assinador.d.ts.map +1 -1
- package/dist/Assinador.js +66 -0
- package/dist/Assinador.js.map +1 -1
- package/dist/NFe.d.ts +87 -0
- package/dist/NFe.d.ts.map +1 -1
- package/dist/NFe.js +302 -20
- package/dist/NFe.js.map +1 -1
- package/dist/chaveAcesso.d.ts +4 -2
- package/dist/chaveAcesso.d.ts.map +1 -1
- package/dist/chaveAcesso.js +9 -7
- package/dist/chaveAcesso.js.map +1 -1
- package/dist/index.d.ts +4 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts +4 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/webservices.d.ts +12 -3
- package/dist/webservices.d.ts.map +1 -1
- package/dist/webservices.js +26 -4
- package/dist/webservices.js.map +1 -1
- package/package.json +1 -1
package/dist/NFe.js
CHANGED
|
@@ -2,7 +2,18 @@ import axios from 'axios';
|
|
|
2
2
|
import { Assinador } from './Assinador.js';
|
|
3
3
|
import { create } from 'xmlbuilder2';
|
|
4
4
|
import { DOMParser } from '@xmldom/xmldom';
|
|
5
|
-
import {
|
|
5
|
+
import { CODIGO_ORGAO_AMBIENTE_NACIONAL, getAutorizadorPorUF, getCodigoUF, getUrlAmbienteNacional, getUrlSefaz, } from './webservices.js';
|
|
6
|
+
import { getDadosChaveAcesso, validarChaveAcesso } from './chaveAcesso.js';
|
|
7
|
+
const MAPA_MANIFESTACAO = {
|
|
8
|
+
confirmacao: { tpEvento: '210200', descEvento: 'Confirmacao da Operacao' },
|
|
9
|
+
'210200': { tpEvento: '210200', descEvento: 'Confirmacao da Operacao' },
|
|
10
|
+
ciencia: { tpEvento: '210210', descEvento: 'Ciencia da Operacao' },
|
|
11
|
+
'210210': { tpEvento: '210210', descEvento: 'Ciencia da Operacao' },
|
|
12
|
+
desconhecimento: { tpEvento: '210220', descEvento: 'Desconhecimento da Operacao' },
|
|
13
|
+
'210220': { tpEvento: '210220', descEvento: 'Desconhecimento da Operacao' },
|
|
14
|
+
nao_realizada: { tpEvento: '210240', descEvento: 'Operacao nao Realizada' },
|
|
15
|
+
'210240': { tpEvento: '210240', descEvento: 'Operacao nao Realizada' },
|
|
16
|
+
};
|
|
6
17
|
export class NFe {
|
|
7
18
|
config;
|
|
8
19
|
assinador;
|
|
@@ -11,20 +22,36 @@ export class NFe {
|
|
|
11
22
|
this.assinador = new Assinador(config.certificado);
|
|
12
23
|
}
|
|
13
24
|
getAutorizador() {
|
|
14
|
-
return
|
|
25
|
+
return getAutorizadorPorUF(this.config.uf, this.config.contingencia ?? false);
|
|
15
26
|
}
|
|
16
27
|
getUrl(servico) {
|
|
17
|
-
return
|
|
28
|
+
return getUrlSefaz(this.config.uf, this.config.ambiente, servico, this.config.contingencia ?? false);
|
|
18
29
|
}
|
|
19
30
|
getCodigoUF() {
|
|
20
|
-
return
|
|
31
|
+
return getCodigoUF(this.config.uf);
|
|
21
32
|
}
|
|
33
|
+
/**
|
|
34
|
+
* Consulta o status de operação do serviço da SEFAZ para a UF configurada.
|
|
35
|
+
*/
|
|
22
36
|
async consultarStatus() {
|
|
23
37
|
const url = this.getUrl('status');
|
|
24
38
|
const tpAmb = this.config.ambiente === 'producao' ? '1' : '2';
|
|
25
39
|
const xmlBody = `<?xml version="1.0" encoding="UTF-8"?><soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope"><soap12:Body><nfeDadosMsg xmlns="http://www.portalfiscal.inf.br/nfe/wsdl/NFeStatusServico4"><consStatServ versao="4.00" xmlns="http://www.portalfiscal.inf.br/nfe"><tpAmb>${tpAmb}</tpAmb><cUF>${this.getCodigoUF()}</cUF><xServ>STATUS</xServ></consStatServ></nfeDadosMsg></soap12:Body></soap12:Envelope>`;
|
|
26
40
|
return this.enviarSoap(url, xmlBody);
|
|
27
41
|
}
|
|
42
|
+
/**
|
|
43
|
+
* Consulta a situação atual e o protocolo de uma NF-e na SEFAZ pela chave de acesso de 44 dígitos.
|
|
44
|
+
*/
|
|
45
|
+
async consultarProtocolo(chaveOuId) {
|
|
46
|
+
const chave = chaveOuId.trim().replace(/^NFe/i, '');
|
|
47
|
+
if (!validarChaveAcesso(chave)) {
|
|
48
|
+
throw new Error(`Chave de acesso inválida: "${chaveOuId}". Informe uma chave de 44 dígitos com dígito verificador válido.`);
|
|
49
|
+
}
|
|
50
|
+
const url = this.getUrl('consultaProtocolo');
|
|
51
|
+
const tpAmb = this.config.ambiente === 'producao' ? '1' : '2';
|
|
52
|
+
const xmlBody = `<?xml version="1.0" encoding="UTF-8"?><soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope"><soap12:Body><nfeDadosMsg xmlns="http://www.portalfiscal.inf.br/nfe/wsdl/NFeConsultaProtocolo4"><consSitNFe versao="4.00" xmlns="http://www.portalfiscal.inf.br/nfe"><tpAmb>${tpAmb}</tpAmb><xServ>CONSULTAR</xServ><chNFe>${chave}</chNFe></consSitNFe></nfeDadosMsg></soap12:Body></soap12:Envelope>`;
|
|
53
|
+
return this.enviarSoap(url, xmlBody);
|
|
54
|
+
}
|
|
28
55
|
/**
|
|
29
56
|
* Recebe os dados da NFe em formato JS/JSON, converte para XML, assina e envia.
|
|
30
57
|
*/
|
|
@@ -33,13 +60,11 @@ export class NFe {
|
|
|
33
60
|
// 1. Gera o XML da nota a partir do objeto passado pelo usuário
|
|
34
61
|
const xmlNFeStr = create({ NFe: { '@xmlns': 'http://www.portalfiscal.inf.br/nfe', ...dadosNFe } }).end({ prettyPrint: false });
|
|
35
62
|
// 2. Assina o XML
|
|
36
|
-
console.log('Assinando o XML...');
|
|
37
63
|
const xmlAssinado = xmlCruFormatado(this.assinador.assinarXmlNFe(xmlCruFormatado(xmlNFeStr)));
|
|
38
64
|
// 3. Monta o Lote (SOAP)
|
|
39
65
|
// A SEFAZ rejeita espaços em branco, quebras de linha ou comentários dentro da tag enviNFe (Erro 588)
|
|
40
66
|
const xmlBody = `<?xml version="1.0" encoding="UTF-8"?><soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope"><soap12:Body><nfeDadosMsg xmlns="http://www.portalfiscal.inf.br/nfe/wsdl/NFeAutorizacao4"><enviNFe versao="4.00" xmlns="http://www.portalfiscal.inf.br/nfe"><idLote>${idLote}</idLote><indSinc>1</indSinc>${xmlAssinado}</enviNFe></nfeDadosMsg></soap12:Body></soap12:Envelope>`;
|
|
41
67
|
// 4. Envia
|
|
42
|
-
console.log('Enviando para a SEFAZ...');
|
|
43
68
|
const retorno = await this.enviarSoap(this.getUrl('autorizacao'), xmlBody);
|
|
44
69
|
const docRetorno = new DOMParser().parseFromString(retorno.xml, 'text/xml');
|
|
45
70
|
const protNFeNode = docRetorno.getElementsByTagName('protNFe')[0];
|
|
@@ -52,6 +77,239 @@ export class NFe {
|
|
|
52
77
|
xmlNfeProc,
|
|
53
78
|
};
|
|
54
79
|
}
|
|
80
|
+
/**
|
|
81
|
+
* Envia o evento de Cancelamento (tpEvento 110111) de uma NF-e autorizada para a SEFAZ.
|
|
82
|
+
*/
|
|
83
|
+
async cancelar(params) {
|
|
84
|
+
const protocolo = params.protocolo.trim();
|
|
85
|
+
if (!protocolo) {
|
|
86
|
+
throw new Error('O número do protocolo de autorização é obrigatório para o cancelamento.');
|
|
87
|
+
}
|
|
88
|
+
const justificativa = params.justificativa.trim();
|
|
89
|
+
if (justificativa.length < 15) {
|
|
90
|
+
throw new Error('A justificativa de cancelamento deve conter no mínimo 15 caracteres.');
|
|
91
|
+
}
|
|
92
|
+
return this.enviarEvento({
|
|
93
|
+
chaveOuId: params.chave,
|
|
94
|
+
tpEvento: '110111',
|
|
95
|
+
nSeqEvento: params.nSeqEvento ?? 1,
|
|
96
|
+
cnpjOuCpf: params.cnpjOuCpf,
|
|
97
|
+
dhEvento: params.dhEvento,
|
|
98
|
+
detEvento: {
|
|
99
|
+
descEvento: 'Cancelamento',
|
|
100
|
+
nProt: protocolo,
|
|
101
|
+
xJust: justificativa,
|
|
102
|
+
},
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Envia o evento de Carta de Correção Eletrônica - CC-e (tpEvento 110110) para a SEFAZ.
|
|
107
|
+
*/
|
|
108
|
+
async cartaCorrecao(params) {
|
|
109
|
+
const correcao = params.correcao.trim();
|
|
110
|
+
if (correcao.length < 15) {
|
|
111
|
+
throw new Error('O texto da Carta de Correção deve conter no mínimo 15 caracteres.');
|
|
112
|
+
}
|
|
113
|
+
const condicaoUso = 'A Carta de Correcao e disciplinada pelo paragrafo 1o-A do art. 7o do Convenio S/N, de 15 de dezembro de 1970 e pode ser utilizada para regularizacao de erro ocorrido na emissao de documento fiscal, desde que o erro nao esteja relacionado com: I - as variaveis que determinam o valor do imposto tais como: base de calculo, aliquota, diferenca de preco, quantidade, valor da operacao ou da prestacao; II - a correcao de dados cadastrais que implique mudanca do remetente ou do destinatario; III - a data de emissao ou de saida.';
|
|
114
|
+
return this.enviarEvento({
|
|
115
|
+
chaveOuId: params.chave,
|
|
116
|
+
tpEvento: '110110',
|
|
117
|
+
nSeqEvento: params.nSeqEvento ?? 1,
|
|
118
|
+
cnpjOuCpf: params.cnpjOuCpf,
|
|
119
|
+
dhEvento: params.dhEvento,
|
|
120
|
+
detEvento: {
|
|
121
|
+
descEvento: 'Carta de Correcao',
|
|
122
|
+
xCorrecao: correcao,
|
|
123
|
+
xCondUso: condicaoUso,
|
|
124
|
+
},
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Solicita a inutilização de uma faixa de numeração de NF-e/NFC-e na SEFAZ (NFeInutilizacao4).
|
|
129
|
+
*/
|
|
130
|
+
async inutilizar(params) {
|
|
131
|
+
const cnpj = params.cnpj.replace(/\D/g, '');
|
|
132
|
+
if (cnpj.length !== 14) {
|
|
133
|
+
throw new Error('O CNPJ para inutilização deve conter 14 dígitos numéricos.');
|
|
134
|
+
}
|
|
135
|
+
const justificativa = params.justificativa.trim();
|
|
136
|
+
if (justificativa.length < 15) {
|
|
137
|
+
throw new Error('A justificativa de inutilização deve conter no mínimo 15 caracteres.');
|
|
138
|
+
}
|
|
139
|
+
const anoRaw = params.ano !== undefined ? String(params.ano).replace(/\D/g, '') : String(new Date().getFullYear());
|
|
140
|
+
if (anoRaw.length !== 2 && anoRaw.length !== 4) {
|
|
141
|
+
throw new Error('O ano para inutilização deve conter 2 ou 4 dígitos.');
|
|
142
|
+
}
|
|
143
|
+
const ano = anoRaw.slice(-2);
|
|
144
|
+
const mod = String(params.modelo ?? '55').trim();
|
|
145
|
+
if (mod !== '55' && mod !== '65') {
|
|
146
|
+
throw new Error('O modelo do documento fiscal deve ser "55" (NF-e) ou "65" (NFC-e).');
|
|
147
|
+
}
|
|
148
|
+
const serieLimpa = String(params.serie).replace(/\D/g, '');
|
|
149
|
+
const serieNum = Number(serieLimpa);
|
|
150
|
+
if (!serieLimpa || !Number.isInteger(serieNum) || serieNum < 0 || serieNum > 999) {
|
|
151
|
+
throw new Error('A série para inutilização deve ser um número inteiro entre 0 e 999.');
|
|
152
|
+
}
|
|
153
|
+
const nNFIniLimpo = String(params.numeroInicial).replace(/\D/g, '');
|
|
154
|
+
const nNFFinLimpo = String(params.numeroFinal ?? params.numeroInicial).replace(/\D/g, '');
|
|
155
|
+
const nNFIniNum = Number(nNFIniLimpo);
|
|
156
|
+
const nNFFinNum = Number(nNFFinLimpo);
|
|
157
|
+
if (!nNFIniLimpo ||
|
|
158
|
+
!nNFFinLimpo ||
|
|
159
|
+
!Number.isInteger(nNFIniNum) ||
|
|
160
|
+
!Number.isInteger(nNFFinNum) ||
|
|
161
|
+
nNFIniNum < 1 ||
|
|
162
|
+
nNFFinNum < nNFIniNum ||
|
|
163
|
+
nNFFinLimpo.length > 9) {
|
|
164
|
+
throw new Error('A faixa de numeração (numeroInicial e numeroFinal) para inutilização é inválida.');
|
|
165
|
+
}
|
|
166
|
+
const cUF = this.getCodigoUF();
|
|
167
|
+
const tpAmb = this.config.ambiente === 'producao' ? '1' : '2';
|
|
168
|
+
const idInut = `ID${cUF}${ano}${cnpj}${mod}${String(serieNum).padStart(3, '0')}${String(nNFIniNum).padStart(9, '0')}${String(nNFFinNum).padStart(9, '0')}`;
|
|
169
|
+
const xmlInutStr = create({
|
|
170
|
+
inutNFe: {
|
|
171
|
+
'@xmlns': 'http://www.portalfiscal.inf.br/nfe',
|
|
172
|
+
'@versao': '4.00',
|
|
173
|
+
infInut: {
|
|
174
|
+
'@Id': idInut,
|
|
175
|
+
tpAmb,
|
|
176
|
+
xServ: 'INUTILIZAR',
|
|
177
|
+
cUF,
|
|
178
|
+
ano,
|
|
179
|
+
CNPJ: cnpj,
|
|
180
|
+
mod,
|
|
181
|
+
serie: String(serieNum),
|
|
182
|
+
nNFIni: String(nNFIniNum),
|
|
183
|
+
nNFFin: String(nNFFinNum),
|
|
184
|
+
xJust: justificativa,
|
|
185
|
+
},
|
|
186
|
+
},
|
|
187
|
+
}).end({ prettyPrint: false });
|
|
188
|
+
const xmlAssinado = xmlCruFormatado(this.assinador.assinarXmlInutilizacao(xmlCruFormatado(xmlInutStr)));
|
|
189
|
+
const xmlBody = `<?xml version="1.0" encoding="UTF-8"?><soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope"><soap12:Body><nfeDadosMsg xmlns="http://www.portalfiscal.inf.br/nfe/wsdl/NFeInutilizacao4">${xmlAssinado}</nfeDadosMsg></soap12:Body></soap12:Envelope>`;
|
|
190
|
+
const retorno = await this.enviarSoap(this.getUrl('inutilizacao'), xmlBody);
|
|
191
|
+
const docRetorno = new DOMParser().parseFromString(retorno.xml, 'text/xml');
|
|
192
|
+
const retInutNode = docRetorno.getElementsByTagName('retInutNFe')[0];
|
|
193
|
+
const xmlProcInut = retInutNode
|
|
194
|
+
? `<?xml version="1.0" encoding="UTF-8"?><ProcInutNFe versao="4.00" xmlns="http://www.portalfiscal.inf.br/nfe">${xmlAssinado}${retInutNode.toString()}</ProcInutNFe>`
|
|
195
|
+
: undefined;
|
|
196
|
+
return {
|
|
197
|
+
...retorno,
|
|
198
|
+
xmlAssinado,
|
|
199
|
+
xmlProcInut,
|
|
200
|
+
};
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* Consulta o resultado do processamento de um lote de NF-e pelo número do recibo de 15 dígitos (NFeRetAutorizacao4).
|
|
204
|
+
*/
|
|
205
|
+
async consultarRecibo(recibo) {
|
|
206
|
+
const reciboLimpo = recibo.trim().replace(/\D/g, '');
|
|
207
|
+
if (!/^\d{15}$/.test(reciboLimpo)) {
|
|
208
|
+
throw new Error(`Número de recibo inválido: "${recibo}". O recibo deve conter exatamente 15 dígitos numéricos.`);
|
|
209
|
+
}
|
|
210
|
+
const url = this.getUrl('retAutorizacao');
|
|
211
|
+
const tpAmb = this.config.ambiente === 'producao' ? '1' : '2';
|
|
212
|
+
const xmlBody = `<?xml version="1.0" encoding="UTF-8"?><soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope"><soap12:Body><nfeDadosMsg xmlns="http://www.portalfiscal.inf.br/nfe/wsdl/NFeRetAutorizacao4"><consReciNFe versao="4.00" xmlns="http://www.portalfiscal.inf.br/nfe"><tpAmb>${tpAmb}</tpAmb><nRec>${reciboLimpo}</nRec></consReciNFe></nfeDadosMsg></soap12:Body></soap12:Envelope>`;
|
|
213
|
+
return this.enviarSoap(url, xmlBody);
|
|
214
|
+
}
|
|
215
|
+
/**
|
|
216
|
+
* Registra um evento de Manifestação do Destinatário no Ambiente Nacional (AN - cOrgao 91).
|
|
217
|
+
* Suporta Ciência da Operação (210210), Confirmação da Operação (210200),
|
|
218
|
+
* Desconhecimento da Operação (210220) e Operação não Realizada (210240).
|
|
219
|
+
*/
|
|
220
|
+
async manifestar(params) {
|
|
221
|
+
const configEvento = MAPA_MANIFESTACAO[params.tipo];
|
|
222
|
+
if (!configEvento) {
|
|
223
|
+
throw new Error(`Tipo de manifestação inválido: "${String(params.tipo)}". Utilize "ciencia" (210210), "confirmacao" (210200), "desconhecimento" (210220) ou "nao_realizada" (210240).`);
|
|
224
|
+
}
|
|
225
|
+
let docAutor = params.cnpjOuCpf?.replace(/\D/g, '');
|
|
226
|
+
if (!docAutor) {
|
|
227
|
+
try {
|
|
228
|
+
docAutor = this.config.certificado.getDados().cnpjOuCpf?.replace(/\D/g, '');
|
|
229
|
+
}
|
|
230
|
+
catch {
|
|
231
|
+
// Ignora erro caso o certificado não permita extração automática do documento
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
if (!docAutor || (docAutor.length !== 11 && docAutor.length !== 14)) {
|
|
235
|
+
throw new Error('Não foi possível identificar o CNPJ/CPF do destinatário automaticamente pelo certificado. Informe um "cnpjOuCpf" válido (11 ou 14 dígitos) nos parâmetros da manifestação.');
|
|
236
|
+
}
|
|
237
|
+
const detEvento = {
|
|
238
|
+
descEvento: configEvento.descEvento,
|
|
239
|
+
};
|
|
240
|
+
if (configEvento.tpEvento === '210240') {
|
|
241
|
+
const justificativa = params.justificativa?.trim() ?? '';
|
|
242
|
+
if (justificativa.length < 15 || justificativa.length > 255) {
|
|
243
|
+
throw new Error('A justificativa é obrigatória para o evento de Operação não Realizada (210240) e deve conter entre 15 e 255 caracteres.');
|
|
244
|
+
}
|
|
245
|
+
detEvento.xJust = justificativa;
|
|
246
|
+
}
|
|
247
|
+
return this.enviarEvento({
|
|
248
|
+
chaveOuId: params.chave,
|
|
249
|
+
tpEvento: configEvento.tpEvento,
|
|
250
|
+
nSeqEvento: params.nSeqEvento ?? 1,
|
|
251
|
+
cnpjOuCpf: docAutor,
|
|
252
|
+
dhEvento: params.dhEvento,
|
|
253
|
+
cOrgao: CODIGO_ORGAO_AMBIENTE_NACIONAL,
|
|
254
|
+
url: getUrlAmbienteNacional(this.config.ambiente, 'recepcaoEvento'),
|
|
255
|
+
detEvento,
|
|
256
|
+
});
|
|
257
|
+
}
|
|
258
|
+
async enviarEvento(opcoes) {
|
|
259
|
+
const chaveLimpa = opcoes.chaveOuId.trim().replace(/^NFe/i, '');
|
|
260
|
+
if (!validarChaveAcesso(chaveLimpa)) {
|
|
261
|
+
throw new Error(`Chave de acesso inválida: "${opcoes.chaveOuId}". Informe uma chave de 44 dígitos com dígito verificador válido.`);
|
|
262
|
+
}
|
|
263
|
+
const dadosChave = getDadosChaveAcesso(chaveLimpa);
|
|
264
|
+
const nSeq = Number(String(opcoes.nSeqEvento).trim());
|
|
265
|
+
if (!Number.isInteger(nSeq) || nSeq < 1 || nSeq > 20) {
|
|
266
|
+
throw new Error('O número sequencial do evento (nSeqEvento) deve ser um inteiro entre 1 e 20.');
|
|
267
|
+
}
|
|
268
|
+
const docAutor = opcoes.cnpjOuCpf ? opcoes.cnpjOuCpf.replace(/\D/g, '') : dadosChave.cnpj;
|
|
269
|
+
if (docAutor.length !== 11 && docAutor.length !== 14) {
|
|
270
|
+
throw new Error('O CNPJ/CPF do autor do evento deve conter 11 (CPF) ou 14 (CNPJ) dígitos.');
|
|
271
|
+
}
|
|
272
|
+
const tpAmb = this.config.ambiente === 'producao' ? '1' : '2';
|
|
273
|
+
const seqId = String(nSeq).padStart(2, '0');
|
|
274
|
+
const idEvento = `ID${opcoes.tpEvento}${dadosChave.chave}${seqId}`;
|
|
275
|
+
const infEvento = {
|
|
276
|
+
'@Id': idEvento,
|
|
277
|
+
cOrgao: opcoes.cOrgao ?? dadosChave.cUF,
|
|
278
|
+
tpAmb,
|
|
279
|
+
...(docAutor.length === 11 ? { CPF: docAutor } : { CNPJ: docAutor }),
|
|
280
|
+
chNFe: dadosChave.chave,
|
|
281
|
+
dhEvento: formatarDataHoraEvento(opcoes.dhEvento),
|
|
282
|
+
tpEvento: opcoes.tpEvento,
|
|
283
|
+
nSeqEvento: String(nSeq),
|
|
284
|
+
verEvento: '1.00',
|
|
285
|
+
detEvento: {
|
|
286
|
+
'@versao': '1.00',
|
|
287
|
+
...opcoes.detEvento,
|
|
288
|
+
},
|
|
289
|
+
};
|
|
290
|
+
const xmlEventoStr = create({
|
|
291
|
+
evento: {
|
|
292
|
+
'@xmlns': 'http://www.portalfiscal.inf.br/nfe',
|
|
293
|
+
'@versao': '1.00',
|
|
294
|
+
infEvento,
|
|
295
|
+
},
|
|
296
|
+
}).end({ prettyPrint: false });
|
|
297
|
+
const xmlAssinado = xmlCruFormatado(this.assinador.assinarXmlEvento(xmlCruFormatado(xmlEventoStr)));
|
|
298
|
+
const idLote = Math.floor(Math.random() * 1000000).toString();
|
|
299
|
+
const xmlBody = `<?xml version="1.0" encoding="UTF-8"?><soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope"><soap12:Body><nfeDadosMsg xmlns="http://www.portalfiscal.inf.br/nfe/wsdl/NFeRecepcaoEvento4"><envEvento versao="1.00" xmlns="http://www.portalfiscal.inf.br/nfe"><idLote>${idLote}</idLote>${xmlAssinado}</envEvento></nfeDadosMsg></soap12:Body></soap12:Envelope>`;
|
|
300
|
+
const urlDestino = opcoes.url ?? this.getUrl('recepcaoEvento');
|
|
301
|
+
const retorno = await this.enviarSoap(urlDestino, xmlBody);
|
|
302
|
+
const docRetorno = new DOMParser().parseFromString(retorno.xml, 'text/xml');
|
|
303
|
+
const retEventoNode = docRetorno.getElementsByTagName('retEvento')[0];
|
|
304
|
+
const xmlProcEvento = retEventoNode
|
|
305
|
+
? `<?xml version="1.0" encoding="UTF-8"?><procEventoNFe versao="1.00" xmlns="http://www.portalfiscal.inf.br/nfe">${xmlAssinado}${retEventoNode.toString()}</procEventoNFe>`
|
|
306
|
+
: undefined;
|
|
307
|
+
return {
|
|
308
|
+
...retorno,
|
|
309
|
+
xmlAssinado,
|
|
310
|
+
xmlProcEvento,
|
|
311
|
+
};
|
|
312
|
+
}
|
|
55
313
|
async enviarSoap(url, xmlBody) {
|
|
56
314
|
const agent = this.config.certificado.getHttpsAgent();
|
|
57
315
|
try {
|
|
@@ -61,23 +319,34 @@ export class NFe {
|
|
|
61
319
|
});
|
|
62
320
|
const xmlStr = response.data;
|
|
63
321
|
const doc = new DOMParser().parseFromString(xmlStr, 'text/xml');
|
|
64
|
-
// Tenta pegar o cStat do protocolo primeiro (resultado
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
const
|
|
74
|
-
|
|
75
|
-
|
|
322
|
+
// Tenta pegar o cStat do protocolo, evento ou inutilização primeiro (resultado individual)
|
|
323
|
+
const infProt = doc.getElementsByTagName('infProt')[0];
|
|
324
|
+
const infEventoRet = doc.getElementsByTagName('retEvento')[0]?.getElementsByTagName('infEvento')[0];
|
|
325
|
+
const infInutRet = doc.getElementsByTagName('retInutNFe')[0]?.getElementsByTagName('infInut')[0];
|
|
326
|
+
// Se não tiver protocolo, evento ou inutilização, pega o cStat geral do lote ou do status de serviço
|
|
327
|
+
const cStatNode = infProt?.getElementsByTagName('cStat')[0] ??
|
|
328
|
+
infEventoRet?.getElementsByTagName('cStat')[0] ??
|
|
329
|
+
infInutRet?.getElementsByTagName('cStat')[0] ??
|
|
330
|
+
doc.getElementsByTagName('cStat')[0];
|
|
331
|
+
const xMotivoNode = infProt?.getElementsByTagName('xMotivo')[0] ??
|
|
332
|
+
infEventoRet?.getElementsByTagName('xMotivo')[0] ??
|
|
333
|
+
infInutRet?.getElementsByTagName('xMotivo')[0] ??
|
|
334
|
+
doc.getElementsByTagName('xMotivo')[0];
|
|
335
|
+
const status = cStatNode?.textContent ? parseInt(cStatNode.textContent, 10) : 0;
|
|
336
|
+
const motivo = xMotivoNode?.textContent ? xMotivoNode.textContent : 'Retorno não identificado';
|
|
337
|
+
// 100 = Autorizado, 101 = Cancelamento Homologado, 102 = Inutilização Homologada, 104 = Lote Processado, 107 = Serviço em Operação, 135/136 = Evento Registrado
|
|
338
|
+
const sucesso = status === 100 ||
|
|
339
|
+
status === 101 ||
|
|
340
|
+
status === 102 ||
|
|
341
|
+
status === 104 ||
|
|
342
|
+
status === 107 ||
|
|
343
|
+
status === 135 ||
|
|
344
|
+
status === 136;
|
|
76
345
|
return { sucesso, status, motivo, xml: xmlStr };
|
|
77
346
|
}
|
|
78
347
|
catch (error) {
|
|
79
|
-
if (error.response) {
|
|
80
|
-
throw new Error(`Erro na SEFAZ: HTTP ${error.response.status} - ${error.response.data}`);
|
|
348
|
+
if (axios.isAxiosError(error) && error.response) {
|
|
349
|
+
throw new Error(`Erro na SEFAZ: HTTP ${error.response.status} - ${String(error.response.data)}`);
|
|
81
350
|
}
|
|
82
351
|
throw error;
|
|
83
352
|
}
|
|
@@ -87,4 +356,17 @@ function xmlCruFormatado(xml) {
|
|
|
87
356
|
// Evita declarações duplicadas do xmlbuilder2 se houver
|
|
88
357
|
return xml.replace(/^<\?xml[^?]*\?>\s*/i, '').trim();
|
|
89
358
|
}
|
|
359
|
+
function formatarDataHoraEvento(data) {
|
|
360
|
+
if (typeof data === 'string' && data.trim().length > 0) {
|
|
361
|
+
return data.trim();
|
|
362
|
+
}
|
|
363
|
+
const d = data instanceof Date ? data : new Date();
|
|
364
|
+
const pad = (n) => String(n).padStart(2, '0');
|
|
365
|
+
const offsetMin = -d.getTimezoneOffset();
|
|
366
|
+
const sinal = offsetMin >= 0 ? '+' : '-';
|
|
367
|
+
const absMin = Math.abs(offsetMin);
|
|
368
|
+
const offsetHoras = pad(Math.floor(absMin / 60));
|
|
369
|
+
const offsetResto = pad(absMin % 60);
|
|
370
|
+
return `${d.getFullYear()}-${pad(d.getMonth() + 1)}-${pad(d.getDate())}T${pad(d.getHours())}:${pad(d.getMinutes())}:${pad(d.getSeconds())}${sinal}${offsetHoras}:${offsetResto}`;
|
|
371
|
+
}
|
|
90
372
|
//# sourceMappingURL=NFe.js.map
|
package/dist/NFe.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NFe.js","sourceRoot":"","sources":["../src/NFe.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"NFe.js","sourceRoot":"","sources":["../src/NFe.ts"],"names":[],"mappings":"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"}
|
package/dist/chaveAcesso.d.ts
CHANGED
|
@@ -56,7 +56,7 @@ export interface DadosChaveAcesso {
|
|
|
56
56
|
/**
|
|
57
57
|
* Calcula o dígito verificador (cDV) em Módulo 11 a partir dos 43 primeiros dígitos da chave.
|
|
58
58
|
*/
|
|
59
|
-
export declare function
|
|
59
|
+
export declare function getDigitoVerificador(chave43: string): string;
|
|
60
60
|
/**
|
|
61
61
|
* Gera a chave de acesso de 44 dígitos da NF-e/NFC-e e seu dígito verificador (cDV).
|
|
62
62
|
*/
|
|
@@ -68,5 +68,7 @@ export declare function validarChaveAcesso(chaveOuId: string): boolean;
|
|
|
68
68
|
/**
|
|
69
69
|
* Extrai e decompõe os campos que formam uma chave de acesso de 44 dígitos da NF-e/NFC-e.
|
|
70
70
|
*/
|
|
71
|
-
export declare function
|
|
71
|
+
export declare function getDadosChaveAcesso(chaveOuId: string): DadosChaveAcesso;
|
|
72
|
+
export declare const calcularDigitoVerificador: typeof getDigitoVerificador;
|
|
73
|
+
export declare const extrairDadosChaveAcesso: typeof getDadosChaveAcesso;
|
|
72
74
|
//# sourceMappingURL=chaveAcesso.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chaveAcesso.d.ts","sourceRoot":"","sources":["../src/chaveAcesso.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"chaveAcesso.d.ts","sourceRoot":"","sources":["../src/chaveAcesso.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE7D,MAAM,WAAW,qBAAqB;IACpC,gFAAgF;IAChF,EAAE,EAAE,OAAO,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;IAC5B,mEAAmE;IACnE,WAAW,EAAE,IAAI,GAAG,MAAM,CAAC;IAC3B,wDAAwD;IACxD,SAAS,EAAE,MAAM,CAAC;IAClB,iFAAiF;IACjF,MAAM,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACnD,gDAAgD;IAChD,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,qCAAqC;IACrC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,8EAA8E;IAC9E,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,sEAAsE;IACtE,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,oBAAoB;IACnC,wDAAwD;IACxD,KAAK,EAAE,MAAM,CAAC;IACd,2DAA2D;IAC3D,GAAG,EAAE,MAAM,CAAC;IACZ,sDAAsD;IACtD,EAAE,EAAE,MAAM,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,2CAA2C;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,oCAAoC;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,2CAA2C;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,gDAAgD;IAChD,GAAG,EAAE,MAAM,CAAC;IACZ,8CAA8C;IAC9C,GAAG,EAAE,MAAM,CAAC;IACZ,uDAAuD;IACvD,IAAI,EAAE,MAAM,CAAC;IACb,gDAAgD;IAChD,MAAM,EAAE,MAAM,CAAC;IACf,uCAAuC;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,0CAA0C;IAC1C,MAAM,EAAE,MAAM,CAAC;IACf,iCAAiC;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,4CAA4C;IAC5C,GAAG,EAAE,MAAM,CAAC;IACZ,oCAAoC;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,0DAA0D;IAC1D,MAAM,EAAE,OAAO,CAAC;CACjB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAkB5D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,qBAAqB,GAAG,oBAAoB,CA8BpF;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAO7D;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,CAkCvE;AAED,eAAO,MAAM,yBAAyB,6BAAuB,CAAC;AAC9D,eAAO,MAAM,uBAAuB,4BAAsB,CAAC"}
|
package/dist/chaveAcesso.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { getCodigoUF } from './webservices.js';
|
|
2
2
|
/**
|
|
3
3
|
* Calcula o dígito verificador (cDV) em Módulo 11 a partir dos 43 primeiros dígitos da chave.
|
|
4
4
|
*/
|
|
5
|
-
export function
|
|
5
|
+
export function getDigitoVerificador(chave43) {
|
|
6
6
|
const limpa = chave43.replace(/\D/g, '');
|
|
7
7
|
if (limpa.length !== 43) {
|
|
8
8
|
throw new Error(`A base da chave de acesso deve conter exatamente 43 dígitos (recebido: ${limpa.length}).`);
|
|
@@ -23,7 +23,7 @@ export function calcularDigitoVerificador(chave43) {
|
|
|
23
23
|
*/
|
|
24
24
|
export function gerarChaveAcesso(params) {
|
|
25
25
|
const ufTrim = params.uf.trim();
|
|
26
|
-
const cUF = /^\d{2}$/.test(ufTrim) ? ufTrim :
|
|
26
|
+
const cUF = /^\d{2}$/.test(ufTrim) ? ufTrim : getCodigoUF(ufTrim);
|
|
27
27
|
const aamm = extrairAnoMes(params.dataEmissao);
|
|
28
28
|
const docLimpo = params.cnpjOuCpf.replace(/\D/g, '');
|
|
29
29
|
if (docLimpo.length !== 11 && docLimpo.length !== 14) {
|
|
@@ -39,7 +39,7 @@ export function gerarChaveAcesso(params) {
|
|
|
39
39
|
throw new Error('O tipo de emissão (tpEmis) deve conter exatamente 1 dígito.');
|
|
40
40
|
}
|
|
41
41
|
const base43 = `${cUF}${aamm}${cnpj}${mod}${serie}${nNF}${tpEmis}${cNF}`;
|
|
42
|
-
const cDV =
|
|
42
|
+
const cDV = getDigitoVerificador(base43);
|
|
43
43
|
const chave = `${base43}${cDV}`;
|
|
44
44
|
return {
|
|
45
45
|
chave,
|
|
@@ -55,13 +55,13 @@ export function validarChaveAcesso(chaveOuId) {
|
|
|
55
55
|
if (!/^\d{44}$/.test(limpa)) {
|
|
56
56
|
return false;
|
|
57
57
|
}
|
|
58
|
-
const dvEsperado =
|
|
58
|
+
const dvEsperado = getDigitoVerificador(limpa.slice(0, 43));
|
|
59
59
|
return limpa[43] === dvEsperado;
|
|
60
60
|
}
|
|
61
61
|
/**
|
|
62
62
|
* Extrai e decompõe os campos que formam uma chave de acesso de 44 dígitos da NF-e/NFC-e.
|
|
63
63
|
*/
|
|
64
|
-
export function
|
|
64
|
+
export function getDadosChaveAcesso(chaveOuId) {
|
|
65
65
|
const limpa = chaveOuId.trim().replace(/^NFe/i, '').replace(/\D/g, '');
|
|
66
66
|
if (limpa.length !== 44) {
|
|
67
67
|
throw new Error(`A chave de acesso deve conter 44 dígitos (recebido: ${limpa.length}).`);
|
|
@@ -77,7 +77,7 @@ export function extrairDadosChaveAcesso(chaveOuId) {
|
|
|
77
77
|
const tpEmis = limpa.slice(34, 35);
|
|
78
78
|
const cNF = limpa.slice(35, 43);
|
|
79
79
|
const cDV = limpa.slice(43, 44);
|
|
80
|
-
const valida =
|
|
80
|
+
const valida = getDigitoVerificador(limpa.slice(0, 43)) === cDV;
|
|
81
81
|
return {
|
|
82
82
|
chave: limpa,
|
|
83
83
|
cUF,
|
|
@@ -94,6 +94,8 @@ export function extrairDadosChaveAcesso(chaveOuId) {
|
|
|
94
94
|
valida,
|
|
95
95
|
};
|
|
96
96
|
}
|
|
97
|
+
export const calcularDigitoVerificador = getDigitoVerificador;
|
|
98
|
+
export const extrairDadosChaveAcesso = getDadosChaveAcesso;
|
|
97
99
|
function extrairAnoMes(data) {
|
|
98
100
|
if (data instanceof Date) {
|
|
99
101
|
const ano = String(data.getFullYear()).slice(-2);
|
package/dist/chaveAcesso.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chaveAcesso.js","sourceRoot":"","sources":["../src/chaveAcesso.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"chaveAcesso.js","sourceRoot":"","sources":["../src/chaveAcesso.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
export { NFe } from './NFe.js';
|
|
2
|
-
export type { ConfiguracaoNFe, AmbienteSefaz } from './NFe.js';
|
|
2
|
+
export type { ConfiguracaoNFe, AmbienteSefaz, ParametrosCancelamentoNFe, ParametrosCartaCorrecaoNFe, ParametrosInutilizacaoNFe, ParametrosManifestacaoNFe, TipoManifestacao, } from './NFe.js';
|
|
3
3
|
export { Certificado } from './Certificado.js';
|
|
4
4
|
export type { DadosCertificado } from './Certificado.js';
|
|
5
5
|
export { Assinador } from './Assinador.js';
|
|
6
6
|
export { Danfe } from './Danfe.js';
|
|
7
|
-
export { AUTORIZADOR_CONTINGENCIA_POR_UF, AUTORIZADOR_POR_UF, CODIGOS_UF, URLS_SEFAZ, normalizarUF, obterAutorizadorPorUF, obterCodigoUF, obterUrlSefaz, } from './webservices.js';
|
|
8
|
-
export type { AutorizadorSefaz, MapaServicosSefaz, ServicoSefaz, SiglaUF, } from './webservices.js';
|
|
9
|
-
export { calcularDigitoVerificador, extrairDadosChaveAcesso, gerarChaveAcesso, validarChaveAcesso, } from './chaveAcesso.js';
|
|
7
|
+
export { AUTORIZADOR_CONTINGENCIA_POR_UF, AUTORIZADOR_POR_UF, CODIGOS_UF, CODIGO_ORGAO_AMBIENTE_NACIONAL, URLS_AMBIENTE_NACIONAL, URLS_SEFAZ, getAutorizadorPorUF, getCodigoUF, getUrlAmbienteNacional, getUrlSefaz, normalizarUF, obterAutorizadorPorUF, obterCodigoUF, obterUrlAmbienteNacional, obterUrlSefaz, } from './webservices.js';
|
|
8
|
+
export type { AutorizadorSefaz, MapaServicosAmbienteNacional, MapaServicosSefaz, ServicoAmbienteNacional, ServicoSefaz, SiglaUF, } from './webservices.js';
|
|
9
|
+
export { calcularDigitoVerificador, extrairDadosChaveAcesso, gerarChaveAcesso, getDadosChaveAcesso, getDigitoVerificador, validarChaveAcesso, } from './chaveAcesso.js';
|
|
10
10
|
export type { DadosChaveAcesso, ParametrosChaveAcesso, ResultadoChaveAcesso, } from './chaveAcesso.js';
|
|
11
11
|
export type * from './types.js';
|
|
12
12
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,YAAY,EACV,eAAe,EACf,aAAa,EACb,yBAAyB,EACzB,0BAA0B,EAC1B,yBAAyB,EACzB,yBAAyB,EACzB,gBAAgB,GACjB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,YAAY,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EACL,+BAA+B,EAC/B,kBAAkB,EAClB,UAAU,EACV,8BAA8B,EAC9B,sBAAsB,EACtB,UAAU,EACV,mBAAmB,EACnB,WAAW,EACX,sBAAsB,EACtB,WAAW,EACX,YAAY,EACZ,qBAAqB,EACrB,aAAa,EACb,wBAAwB,EACxB,aAAa,GACd,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,gBAAgB,EAChB,4BAA4B,EAC5B,iBAAiB,EACjB,uBAAuB,EACvB,YAAY,EACZ,OAAO,GACR,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,yBAAyB,EACzB,uBAAuB,EACvB,gBAAgB,EAChB,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,gBAAgB,EAChB,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AAC1B,mBAAmB,YAAY,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -2,6 +2,6 @@ export { NFe } from './NFe.js';
|
|
|
2
2
|
export { Certificado } from './Certificado.js';
|
|
3
3
|
export { Assinador } from './Assinador.js';
|
|
4
4
|
export { Danfe } from './Danfe.js';
|
|
5
|
-
export { AUTORIZADOR_CONTINGENCIA_POR_UF, AUTORIZADOR_POR_UF, CODIGOS_UF, URLS_SEFAZ, normalizarUF, obterAutorizadorPorUF, obterCodigoUF, obterUrlSefaz, } from './webservices.js';
|
|
6
|
-
export { calcularDigitoVerificador, extrairDadosChaveAcesso, gerarChaveAcesso, validarChaveAcesso, } from './chaveAcesso.js';
|
|
5
|
+
export { AUTORIZADOR_CONTINGENCIA_POR_UF, AUTORIZADOR_POR_UF, CODIGOS_UF, CODIGO_ORGAO_AMBIENTE_NACIONAL, URLS_AMBIENTE_NACIONAL, URLS_SEFAZ, getAutorizadorPorUF, getCodigoUF, getUrlAmbienteNacional, getUrlSefaz, normalizarUF, obterAutorizadorPorUF, obterCodigoUF, obterUrlAmbienteNacional, obterUrlSefaz, } from './webservices.js';
|
|
6
|
+
export { calcularDigitoVerificador, extrairDadosChaveAcesso, gerarChaveAcesso, getDadosChaveAcesso, getDigitoVerificador, validarChaveAcesso, } from './chaveAcesso.js';
|
|
7
7
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAU/B,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EACL,+BAA+B,EAC/B,kBAAkB,EAClB,UAAU,EACV,8BAA8B,EAC9B,sBAAsB,EACtB,UAAU,EACV,mBAAmB,EACnB,WAAW,EACX,sBAAsB,EACtB,WAAW,EACX,YAAY,EACZ,qBAAqB,EACrB,aAAa,EACb,wBAAwB,EACxB,aAAa,GACd,MAAM,kBAAkB,CAAC;AAS1B,OAAO,EACL,yBAAyB,EACzB,uBAAuB,EACvB,gBAAgB,EAChB,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,kBAAkB,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -2399,5 +2399,9 @@ export interface RetornoSefaz {
|
|
|
2399
2399
|
xmlAssinado?: string | undefined;
|
|
2400
2400
|
/** XML completo distribuível (nfeProc = NFe assinada + protNFe da SEFAZ). */
|
|
2401
2401
|
xmlNfeProc?: string | undefined;
|
|
2402
|
+
/** XML completo distribuível do evento (procEventoNFe = evento assinado + retEvento da SEFAZ). */
|
|
2403
|
+
xmlProcEvento?: string | undefined;
|
|
2404
|
+
/** XML completo distribuível da inutilização (ProcInutNFe = inutNFe assinado + retInutNFe da SEFAZ). */
|
|
2405
|
+
xmlProcInut?: string | undefined;
|
|
2402
2406
|
}
|
|
2403
2407
|
//# sourceMappingURL=types.d.ts.map
|