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/README.md
CHANGED
|
@@ -82,13 +82,68 @@ async function emitirNota() {
|
|
|
82
82
|
}
|
|
83
83
|
```
|
|
84
84
|
|
|
85
|
+
### 3. Consultar Protocolo, Recibo, Cancelar, Carta de Correção, Inutilizar e Manifestar
|
|
86
|
+
|
|
87
|
+
```typescript
|
|
88
|
+
import { NFe, Certificado } from 'nfe-lib-node';
|
|
89
|
+
import fs from 'fs';
|
|
90
|
+
|
|
91
|
+
async function gerenciarNotas() {
|
|
92
|
+
const certificado = new Certificado(fs.readFileSync('./certificado.pfx'), 'SENHA_DO_CERTIFICADO');
|
|
93
|
+
const nfe = new NFe({ uf: 'DF', ambiente: 'homologacao', certificado });
|
|
94
|
+
|
|
95
|
+
const chave = '53260999999999999999550010000000011847291634';
|
|
96
|
+
|
|
97
|
+
// 1. Consulta de Protocolo por Chave de Acesso (NFeConsultaProtocolo4)
|
|
98
|
+
const consulta = await nfe.consultarProtocolo(chave);
|
|
99
|
+
console.log(`Situação: ${consulta.status} - ${consulta.motivo}`);
|
|
100
|
+
|
|
101
|
+
// 2. Consulta de Recibo de Lote de 15 dígitos (NFeRetAutorizacao4)
|
|
102
|
+
const recibo = await nfe.consultarRecibo('531000000000001');
|
|
103
|
+
console.log(`Recibo: ${recibo.status} - ${recibo.motivo}`);
|
|
104
|
+
|
|
105
|
+
// 3. Carta de Correção Eletrônica - CC-e (tpEvento 110110)
|
|
106
|
+
const cce = await nfe.cartaCorrecao({
|
|
107
|
+
chave,
|
|
108
|
+
correcao: 'Correcao na descricao complementar da mercadoria transportada.',
|
|
109
|
+
nSeqEvento: 1,
|
|
110
|
+
});
|
|
111
|
+
console.log(`CC-e: ${cce.status} - ${cce.motivo}`);
|
|
112
|
+
|
|
113
|
+
// 4. Cancelamento de NF-e (tpEvento 110111)
|
|
114
|
+
const cancelamento = await nfe.cancelar({
|
|
115
|
+
chave,
|
|
116
|
+
protocolo: '153260000000001',
|
|
117
|
+
justificativa: 'Erro no preenchimento dos dados comerciais da nota fiscal.',
|
|
118
|
+
});
|
|
119
|
+
console.log(`Cancelamento: ${cancelamento.status} - ${cancelamento.motivo}`);
|
|
120
|
+
|
|
121
|
+
// 5. Inutilização de Faixa de Numeração (NFeInutilizacao4)
|
|
122
|
+
const inutilizacao = await nfe.inutilizar({
|
|
123
|
+
cnpj: '00000000000000',
|
|
124
|
+
serie: 1,
|
|
125
|
+
numeroInicial: 10,
|
|
126
|
+
numeroFinal: 12,
|
|
127
|
+
justificativa: 'Quebra de sequencia na numeracao do sistema emissor.',
|
|
128
|
+
});
|
|
129
|
+
console.log(`Inutilização: ${inutilizacao.status} - ${inutilizacao.motivo}`);
|
|
130
|
+
|
|
131
|
+
// 6. Manifestação do Destinatário no Ambiente Nacional (210210, 210200, 210220, 210240)
|
|
132
|
+
const ciencia = await nfe.manifestar({
|
|
133
|
+
chave,
|
|
134
|
+
tipo: 'ciencia', // 'ciencia' | 'confirmacao' | 'desconhecimento' | 'nao_realizada'
|
|
135
|
+
});
|
|
136
|
+
console.log(`Manifestação: ${ciencia.status} - ${ciencia.motivo}`);
|
|
137
|
+
}
|
|
138
|
+
```
|
|
139
|
+
|
|
85
140
|
## ✨ Funcionalidades Atuais
|
|
86
141
|
|
|
87
142
|
* 🔐 **Certificado Digital A1 (`.pfx`)**: Extração com cache em memória, inspeção de validade/titular (`getDados()`, `estaValido()`) e configuração de mTLS.
|
|
88
|
-
* 🔑 **Chave de Acesso (Módulo 11)**: Geração, validação, extração de dados da chave de 44 dígitos e cálculo automático do `cDV` (`gerarChaveAcesso`, `validarChaveAcesso`, `
|
|
89
|
-
* ✍️ **Assinatura Digital XMLDSig**: Assinatura no padrão exigido pela SEFAZ (`rsa-sha1` / `enveloped-signature` / `c14n`).
|
|
90
|
-
* 🗺️ **Mapeamento Completo de WebServices por UF**: Resolução automática das URLs oficiais da NF-e 4.00 para todas as 27 UFs (Autorizadores próprios: AM, BA, GO, MG, MS, MT, PE, PR, RS, SP + SVAN, SVRS e contingência SVC-AN / SVC-RS).
|
|
91
|
-
* 📡 **Comunicação SEFAZ (SOAP 1.2)**: Consulta de status
|
|
143
|
+
* 🔑 **Chave de Acesso (Módulo 11)**: Geração, validação, extração de dados da chave de 44 dígitos e cálculo automático do `cDV` (`gerarChaveAcesso`, `validarChaveAcesso`, `getDadosChaveAcesso`, `getDigitoVerificador`).
|
|
144
|
+
* ✍️ **Assinatura Digital XMLDSig**: Assinatura no padrão exigido pela SEFAZ (`rsa-sha1` / `enveloped-signature` / `c14n`) para NF-e, Eventos e Inutilização (`assinarXmlNFe`, `assinarXmlEvento`, `assinarXmlInutilizacao`).
|
|
145
|
+
* 🗺️ **Mapeamento Completo de WebServices por UF e Ambiente Nacional**: Resolução automática das URLs oficiais da NF-e 4.00 para todas as 27 UFs e Ambiente Nacional (`getUrlSefaz`, `getUrlAmbienteNacional`, `getAutorizadorPorUF`, `getCodigoUF` — Autorizadores próprios: AM, BA, GO, MG, MS, MT, PE, PR, RS, SP + SVAN, SVRS, AN e contingência SVC-AN / SVC-RS).
|
|
146
|
+
* 📡 **Comunicação SEFAZ Completa (SOAP 1.2)**: Consulta de status (`consultarStatus`), autorização síncrona (`emitir`), consulta de protocolo por chave (`consultarProtocolo`), consulta de recibo (`consultarRecibo`), cancelamento (`cancelar`), carta de correção (`cartaCorrecao`), inutilização de numeração (`inutilizar`) e manifestação do destinatário (`manifestar`), com montagem automática de `<nfeProc>`, `<procEventoNFe>` e `<ProcInutNFe>`.
|
|
92
147
|
* 📄 **Gerador de DANFE em PDF**: Geração nativa de PDF com código de barras `Code128C` via `Danfe.fromXml()`.
|
|
93
148
|
* 📘 **Tipagem TypeScript Completa**: Interfaces completas da NF-e / NFC-e 4.00 (incluindo os novos grupos de IBS/CBS da Reforma Tributária).
|
|
94
149
|
|
|
@@ -99,7 +154,7 @@ async function emitirNota() {
|
|
|
99
154
|
|
|
100
155
|
## 🤝 Contribuições
|
|
101
156
|
|
|
102
|
-
As próximas etapas envolvem suporte a
|
|
157
|
+
As próximas etapas envolvem suporte a Distribuição de DF-e (`NFeDistribuicaoDFe`) e geração de QR-Code para NFC-e (Modelo 65). Toda contribuição da comunidade Node.js brasileira é bem-vinda!
|
|
103
158
|
|
|
104
159
|
## 👨💻 Autor
|
|
105
160
|
|
package/dist/Assinador.d.ts
CHANGED
|
@@ -7,5 +7,13 @@ export declare class Assinador {
|
|
|
7
7
|
* Assina o XML da Nota Fiscal Eletrônica no padrão SEFAZ (XMLDSig)
|
|
8
8
|
*/
|
|
9
9
|
assinarXmlNFe(xmlCru: string): string;
|
|
10
|
+
/**
|
|
11
|
+
* Assina o XML de um Evento da NF-e (ex: Cancelamento ou Carta de Correção) no padrão SEFAZ (XMLDSig).
|
|
12
|
+
*/
|
|
13
|
+
assinarXmlEvento(xmlCru: string): string;
|
|
14
|
+
/**
|
|
15
|
+
* Assina o XML de Inutilização de Numeração da NF-e (<inutNFe> / <infInut>) no padrão SEFAZ (XMLDSig).
|
|
16
|
+
*/
|
|
17
|
+
assinarXmlInutilizacao(xmlCru: string): string;
|
|
10
18
|
}
|
|
11
19
|
//# sourceMappingURL=Assinador.d.ts.map
|
package/dist/Assinador.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Assinador.d.ts","sourceRoot":"","sources":["../src/Assinador.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,qBAAa,SAAS;IACpB,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,aAAa,CAAS;IAE9B,YAAY,gBAAgB,EAAE,WAAW,GAAG,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,EAQhF;IAED;;OAEG;IACI,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAqC3C;CACF"}
|
|
1
|
+
{"version":3,"file":"Assinador.d.ts","sourceRoot":"","sources":["../src/Assinador.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,qBAAa,SAAS;IACpB,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,aAAa,CAAS;IAE9B,YAAY,gBAAgB,EAAE,WAAW,GAAG,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,EAQhF;IAED;;OAEG;IACI,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAqC3C;IAED;;OAEG;IACI,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAkC9C;IAED;;OAEG;IACI,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAkCpD;CACF"}
|
package/dist/Assinador.js
CHANGED
|
@@ -47,5 +47,71 @@ export class Assinador {
|
|
|
47
47
|
});
|
|
48
48
|
return sig.getSignedXml();
|
|
49
49
|
}
|
|
50
|
+
/**
|
|
51
|
+
* Assina o XML de um Evento da NF-e (ex: Cancelamento ou Carta de Correção) no padrão SEFAZ (XMLDSig).
|
|
52
|
+
*/
|
|
53
|
+
assinarXmlEvento(xmlCru) {
|
|
54
|
+
const doc = new DOMParser().parseFromString(xmlCru, 'text/xml');
|
|
55
|
+
const infEvento = doc.getElementsByTagName('infEvento')[0];
|
|
56
|
+
if (!infEvento) {
|
|
57
|
+
throw new Error('Tag <infEvento> não encontrada no XML. O XML fornecido não é um evento válido.');
|
|
58
|
+
}
|
|
59
|
+
const id = infEvento.getAttribute('Id');
|
|
60
|
+
if (!id) {
|
|
61
|
+
throw new Error('A tag <infEvento> precisa ter o atributo Id (ex: Id="ID110111...")');
|
|
62
|
+
}
|
|
63
|
+
const sig = new SignedXml();
|
|
64
|
+
sig.addReference({
|
|
65
|
+
xpath: `//*[@Id='${id}']`,
|
|
66
|
+
transforms: [
|
|
67
|
+
'http://www.w3.org/2000/09/xmldsig#enveloped-signature',
|
|
68
|
+
'http://www.w3.org/TR/2001/REC-xml-c14n-20010315',
|
|
69
|
+
],
|
|
70
|
+
digestAlgorithm: 'http://www.w3.org/2000/09/xmldsig#sha1',
|
|
71
|
+
uri: `#${id}`,
|
|
72
|
+
});
|
|
73
|
+
sig.privateKey = this.privateKeyPem;
|
|
74
|
+
sig.signatureAlgorithm = 'http://www.w3.org/2000/09/xmldsig#rsa-sha1';
|
|
75
|
+
sig.canonicalizationAlgorithm = 'http://www.w3.org/TR/2001/REC-xml-c14n-20010315';
|
|
76
|
+
sig.publicCert = Buffer.from(this.publicCertPem);
|
|
77
|
+
sig.computeSignature(xmlCru, {
|
|
78
|
+
prefix: '',
|
|
79
|
+
location: { reference: `//*[local-name(.)='evento']`, action: 'append' },
|
|
80
|
+
});
|
|
81
|
+
return sig.getSignedXml();
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Assina o XML de Inutilização de Numeração da NF-e (<inutNFe> / <infInut>) no padrão SEFAZ (XMLDSig).
|
|
85
|
+
*/
|
|
86
|
+
assinarXmlInutilizacao(xmlCru) {
|
|
87
|
+
const doc = new DOMParser().parseFromString(xmlCru, 'text/xml');
|
|
88
|
+
const infInut = doc.getElementsByTagName('infInut')[0];
|
|
89
|
+
if (!infInut) {
|
|
90
|
+
throw new Error('Tag <infInut> não encontrada no XML. O XML fornecido não é uma inutilização válida.');
|
|
91
|
+
}
|
|
92
|
+
const id = infInut.getAttribute('Id');
|
|
93
|
+
if (!id) {
|
|
94
|
+
throw new Error('A tag <infInut> precisa ter o atributo Id (ex: Id="ID5326...")');
|
|
95
|
+
}
|
|
96
|
+
const sig = new SignedXml();
|
|
97
|
+
sig.addReference({
|
|
98
|
+
xpath: `//*[@Id='${id}']`,
|
|
99
|
+
transforms: [
|
|
100
|
+
'http://www.w3.org/2000/09/xmldsig#enveloped-signature',
|
|
101
|
+
'http://www.w3.org/TR/2001/REC-xml-c14n-20010315',
|
|
102
|
+
],
|
|
103
|
+
digestAlgorithm: 'http://www.w3.org/2000/09/xmldsig#sha1',
|
|
104
|
+
uri: `#${id}`,
|
|
105
|
+
});
|
|
106
|
+
sig.privateKey = this.privateKeyPem;
|
|
107
|
+
sig.signatureAlgorithm = 'http://www.w3.org/2000/09/xmldsig#rsa-sha1';
|
|
108
|
+
sig.canonicalizationAlgorithm = 'http://www.w3.org/TR/2001/REC-xml-c14n-20010315';
|
|
109
|
+
sig.publicCert = Buffer.from(this.publicCertPem);
|
|
110
|
+
sig.computeSignature(xmlCru, {
|
|
111
|
+
prefix: '',
|
|
112
|
+
location: { reference: `//*[local-name(.)='inutNFe']`, action: 'append' },
|
|
113
|
+
});
|
|
114
|
+
return sig.getSignedXml();
|
|
115
|
+
}
|
|
50
116
|
}
|
|
51
117
|
//# sourceMappingURL=Assinador.js.map
|
package/dist/Assinador.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Assinador.js","sourceRoot":"","sources":["../src/Assinador.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,MAAM,OAAO,SAAS;IACZ,aAAa,CAAS;IACtB,aAAa,CAAS;IAE9B,YAAY,gBAAsC,EAAE,QAA6B;QAC/E,MAAM,IAAI,GACR,gBAAgB,YAAY,WAAW;YACrC,CAAC,CAAC,gBAAgB;YAClB,CAAC,CAAC,IAAI,WAAW,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;QAClD,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAClD,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC;QAChC,IAAI,CAAC,aAAa,GAAG,WAAW,CAAC;IACnC,CAAC;IAED;;OAEG;IACI,aAAa,CAAC,MAAc;QACjC,MAAM,GAAG,GAAG,IAAI,SAAS,EAAE,CAAC,eAAe,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAChE,MAAM,MAAM,GAAG,GAAG,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QACrD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,4EAA4E,CAAC,CAAC;QAChG,CAAC;QAED,MAAM,EAAE,GAAG,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;QACrF,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,SAAS,EAAE,CAAC;QAC5B,sDAAsD;QACtD,GAAG,CAAC,YAAY,CAAC;YACf,KAAK,EAAE,YAAY,EAAE,IAAI;YACzB,UAAU,EAAE;gBACV,uDAAuD;gBACvD,iDAAiD;aAClD;YACD,eAAe,EAAE,wCAAwC;YACzD,GAAG,EAAE,IAAI,EAAE,EAAE;SACd,CAAC,CAAC;QAEH,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC;QACpC,GAAG,CAAC,kBAAkB,GAAG,4CAA4C,CAAC;QACtE,GAAG,CAAC,yBAAyB,GAAG,iDAAiD,CAAC;QAElF,8CAA8C;QAC9C,GAAG,CAAC,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAEjD,GAAG,CAAC,gBAAgB,CAAC,MAAM,EAAE;YAC3B,MAAM,EAAE,EAAE;YACV,QAAQ,EAAE,EAAE,SAAS,EAAE,0BAA0B,EAAE,MAAM,EAAE,QAAQ,EAAE;SACtE,CAAC,CAAC;QAEH,OAAO,GAAG,CAAC,YAAY,EAAE,CAAC;IAC5B,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"Assinador.js","sourceRoot":"","sources":["../src/Assinador.ts"],"names":[],"mappings":"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"}
|
package/dist/NFe.d.ts
CHANGED
|
@@ -8,6 +8,63 @@ export interface ConfiguracaoNFe {
|
|
|
8
8
|
certificado: Certificado;
|
|
9
9
|
contingencia?: boolean | undefined;
|
|
10
10
|
}
|
|
11
|
+
export interface ParametrosCancelamentoNFe {
|
|
12
|
+
/** Chave de acesso de 44 dígitos da NF-e (com ou sem o prefixo 'NFe') */
|
|
13
|
+
chave: string;
|
|
14
|
+
/** Número do protocolo de autorização da NF-e (15 dígitos) */
|
|
15
|
+
protocolo: string;
|
|
16
|
+
/** Justificativa do cancelamento (mínimo de 15 caracteres) */
|
|
17
|
+
justificativa: string;
|
|
18
|
+
/** CNPJ ou CPF do autor do evento (opcional; padrão: CNPJ extraído da chave de acesso) */
|
|
19
|
+
cnpjOuCpf?: string | undefined;
|
|
20
|
+
/** Data e hora do evento (opcional; padrão: data/hora atual no formato ISO com timezone) */
|
|
21
|
+
dhEvento?: string | Date | undefined;
|
|
22
|
+
/** Número sequencial do evento (opcional; padrão: 1) */
|
|
23
|
+
nSeqEvento?: number | string | undefined;
|
|
24
|
+
}
|
|
25
|
+
export interface ParametrosCartaCorrecaoNFe {
|
|
26
|
+
/** Chave de acesso de 44 dígitos da NF-e (com ou sem o prefixo 'NFe') */
|
|
27
|
+
chave: string;
|
|
28
|
+
/** Texto da correção a ser registrada (mínimo de 15 caracteres) */
|
|
29
|
+
correcao: string;
|
|
30
|
+
/** Número sequencial do evento de Carta de Correção (1 a 20; padrão: 1) */
|
|
31
|
+
nSeqEvento?: number | string | undefined;
|
|
32
|
+
/** CNPJ ou CPF do autor do evento (opcional; padrão: CNPJ extraído da chave de acesso) */
|
|
33
|
+
cnpjOuCpf?: string | undefined;
|
|
34
|
+
/** Data e hora do evento (opcional; padrão: data/hora atual no formato ISO com timezone) */
|
|
35
|
+
dhEvento?: string | Date | undefined;
|
|
36
|
+
}
|
|
37
|
+
export interface ParametrosInutilizacaoNFe {
|
|
38
|
+
/** CNPJ do emitente (14 dígitos) */
|
|
39
|
+
cnpj: string;
|
|
40
|
+
/** Série da numeração a ser inutilizada (0 a 999) */
|
|
41
|
+
serie: number | string;
|
|
42
|
+
/** Número inicial da faixa de NF-e a ser inutilizada */
|
|
43
|
+
numeroInicial: number | string;
|
|
44
|
+
/** Número final da faixa de NF-e a ser inutilizada (opcional; padrão igual a numeroInicial) */
|
|
45
|
+
numeroFinal?: number | string | undefined;
|
|
46
|
+
/** Justificativa do pedido de inutilização (mínimo de 15 caracteres) */
|
|
47
|
+
justificativa: string;
|
|
48
|
+
/** Ano de inutilização com 2 ou 4 dígitos (opcional; padrão: ano atual) */
|
|
49
|
+
ano?: number | string | undefined;
|
|
50
|
+
/** Modelo do documento fiscal ('55' para NF-e, '65' para NFC-e; padrão: '55') */
|
|
51
|
+
modelo?: '55' | '65' | number | string | undefined;
|
|
52
|
+
}
|
|
53
|
+
export type TipoManifestacao = 'confirmacao' | 'ciencia' | 'desconhecimento' | 'nao_realizada' | '210200' | '210210' | '210220' | '210240';
|
|
54
|
+
export interface ParametrosManifestacaoNFe {
|
|
55
|
+
/** Chave de acesso de 44 dígitos da NF-e (com ou sem o prefixo 'NFe') */
|
|
56
|
+
chave: string;
|
|
57
|
+
/** Tipo de manifestação ('ciencia' | 'confirmacao' | 'desconhecimento' | 'nao_realizada' ou '210200' | '210210' | '210220' | '210240') */
|
|
58
|
+
tipo: TipoManifestacao;
|
|
59
|
+
/** Justificativa da manifestação (obrigatória apenas para 'nao_realizada' / '210240', entre 15 e 255 caracteres) */
|
|
60
|
+
justificativa?: string | undefined;
|
|
61
|
+
/** CNPJ ou CPF do destinatário autor do evento (opcional; padrão: extraído do Certificado A1) */
|
|
62
|
+
cnpjOuCpf?: string | undefined;
|
|
63
|
+
/** Data e hora do evento (opcional; padrão: data/hora atual no formato ISO com timezone) */
|
|
64
|
+
dhEvento?: string | Date | undefined;
|
|
65
|
+
/** Número sequencial do evento (opcional; padrão: 1) */
|
|
66
|
+
nSeqEvento?: number | string | undefined;
|
|
67
|
+
}
|
|
11
68
|
export declare class NFe {
|
|
12
69
|
private config;
|
|
13
70
|
private assinador;
|
|
@@ -15,11 +72,41 @@ export declare class NFe {
|
|
|
15
72
|
getAutorizador(): AutorizadorSefaz;
|
|
16
73
|
getUrl(servico: ServicoSefaz): string;
|
|
17
74
|
getCodigoUF(): string;
|
|
75
|
+
/**
|
|
76
|
+
* Consulta o status de operação do serviço da SEFAZ para a UF configurada.
|
|
77
|
+
*/
|
|
18
78
|
consultarStatus(): Promise<RetornoSefaz>;
|
|
79
|
+
/**
|
|
80
|
+
* Consulta a situação atual e o protocolo de uma NF-e na SEFAZ pela chave de acesso de 44 dígitos.
|
|
81
|
+
*/
|
|
82
|
+
consultarProtocolo(chaveOuId: string): Promise<RetornoSefaz>;
|
|
19
83
|
/**
|
|
20
84
|
* Recebe os dados da NFe em formato JS/JSON, converte para XML, assina e envia.
|
|
21
85
|
*/
|
|
22
86
|
emitir(dadosNFe: DadosNFe): Promise<RetornoSefaz>;
|
|
87
|
+
/**
|
|
88
|
+
* Envia o evento de Cancelamento (tpEvento 110111) de uma NF-e autorizada para a SEFAZ.
|
|
89
|
+
*/
|
|
90
|
+
cancelar(params: ParametrosCancelamentoNFe): Promise<RetornoSefaz>;
|
|
91
|
+
/**
|
|
92
|
+
* Envia o evento de Carta de Correção Eletrônica - CC-e (tpEvento 110110) para a SEFAZ.
|
|
93
|
+
*/
|
|
94
|
+
cartaCorrecao(params: ParametrosCartaCorrecaoNFe): Promise<RetornoSefaz>;
|
|
95
|
+
/**
|
|
96
|
+
* Solicita a inutilização de uma faixa de numeração de NF-e/NFC-e na SEFAZ (NFeInutilizacao4).
|
|
97
|
+
*/
|
|
98
|
+
inutilizar(params: ParametrosInutilizacaoNFe): Promise<RetornoSefaz>;
|
|
99
|
+
/**
|
|
100
|
+
* Consulta o resultado do processamento de um lote de NF-e pelo número do recibo de 15 dígitos (NFeRetAutorizacao4).
|
|
101
|
+
*/
|
|
102
|
+
consultarRecibo(recibo: string): Promise<RetornoSefaz>;
|
|
103
|
+
/**
|
|
104
|
+
* Registra um evento de Manifestação do Destinatário no Ambiente Nacional (AN - cOrgao 91).
|
|
105
|
+
* Suporta Ciência da Operação (210210), Confirmação da Operação (210200),
|
|
106
|
+
* Desconhecimento da Operação (210220) e Operação não Realizada (210240).
|
|
107
|
+
*/
|
|
108
|
+
manifestar(params: ParametrosManifestacaoNFe): Promise<RetornoSefaz>;
|
|
109
|
+
private enviarEvento;
|
|
23
110
|
private enviarSoap;
|
|
24
111
|
}
|
|
25
112
|
//# sourceMappingURL=NFe.d.ts.map
|
package/dist/NFe.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NFe.d.ts","sourceRoot":"","sources":["../src/NFe.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG/C,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAEzD,OAAO,
|
|
1
|
+
{"version":3,"file":"NFe.d.ts","sourceRoot":"","sources":["../src/NFe.ts"],"names":[],"mappings":"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"}
|