Instalação
Construtor
new DistribuicaoDFe(config)
-
config
<Object>
-
pfx
<Buffer>
- [OPCIONAL] - Arquivo .pfx. Se o pfx
não for informado, as propriedades cert
e key
passam a ser obrigatórias.
-
passphrase
<String>
- [OPCIONAL] - Senha do arquivo .pfx.
-
cert
<Buffer | String>
- [OPCIONAL] - Conteúdo do cert.pem. Essa propriedade fica obrigatória se o pfx
não for informado.
-
key
<Buffer | String>
- [OPCIONAL] - Conteúdo do key.pem. Essa propriedade fica obrigatória se o pfx
não for informado.
-
cUFAutor
<String>
- [OBRIGATÓRIO] - Código da UF do autor. Consulte a tabela códigos UF.
-
cnpj
<String>
- [OPCIONAL] - CNPJ do interessado no DF-e. Se não informado um CNPJ, será obrigatório informar um CPF.
-
cpf
<String>
- [OPCIONAL] - CPF do interessado no DF-e. Se não informado um CPF, será obrigatório informar um CNPJ.
-
tpAmb
<String>
- [OBRIGATÓRIO] - Identificação de Ambiente. Informar '1'
para Produção ou '2'
para Homologação.
-
options
<Object>
- [OPCIONAL]
-
requestOptions
<AxiosRequestConfig>
- [OPCIONAL]
-
httpsOptions
<AgentOptions>
- [OPCIONAL]
Consulta por ultNSU
Campo |
Tipo |
Tamanho |
Descrição |
ultNSU |
string |
1-15 |
Último NSU recebido pelo ator. |
Exemplo
const { DistribuicaoDFe } = require('xml-nfe.io')
const fs = require('fs')
const distribuicao = new DistribuicaoDFe({
pfx: fs.readFileSync('./certificado.pfx'),
passphrase: 'senha',
cnpj: '12345678901234',
cUFAutor: '41',
tpAmb: '2',
})
const consulta = await distribuicao.consultaUltNSU('000000000000000')
if (consulta.error) {
throw new Error(consulta.error)
}
console.log(consulta)
Consulta por chNFe
Campo |
Tipo |
Tamanho |
Descrição |
chNFe |
string |
44 |
Chave de acesso específica. |
Exemplo
const { DistribuicaoDFe } = require('xml-nfe.io')
const fs = require('fs')
const distribuicao = new DistribuicaoDFe({
pfx: fs.readFileSync('./certificado.pfx'),
passphrase: 'senha',
cnpj: '12345678901234',
cUFAutor: '41',
tpAmb: '2',
})
const consulta = await distribuicao.consultaChNFe('Chave NFE')
if (consulta.error) {
throw new Error(consulta.error)
}
console.log(consulta)
Consulta por NSU
Campo |
Tipo |
Tamanho |
Descrição |
NSU |
string |
1-15 |
Número Sequencial Único específico. |
Exemplo
const { DistribuicaoDFe } = require('xml-nfe.io')
const fs = require('fs')
const distribuicao = new DistribuicaoDFe({
pfx: fs.readFileSync('./certificado.pfx'),
passphrase: 'senha',
cnpj: '12345678901234',
cUFAutor: '41',
tpAmb: '2',
})
const consulta = await distribuicao.consultaNSU('000000000000049')
if (consulta.error) {
throw new Error(consulta.error)
}
console.log(consulta)
Manifestação do Destinatário
Construtor
new RecepcaoEvento(config)
-
config
<Object>
-
pfx
<Buffer>
- [OPCIONAL] - Arquivo .pfx. Se o pfx
não for informado, as propriedades cert
e key
passam a ser obrigatórias.
-
passphrase
<String>
- [OPCIONAL] - Senha do arquivo .pfx.
-
cert
<Buffer | String>
- [OPCIONAL] - Conteúdo do cert.pem. Essa propriedade fica obrigatória se o pfx
não for informado.
-
key
<Buffer | String>
- [OPCIONAL] - Conteúdo do key.pem. Essa propriedade fica obrigatória se o pfx
não for informado.
-
cnpj
<String>
- [OPCIONAL] - CNPJ do interessado no DF-e. Se não informado um CNPJ, será obrigatório informar um CPF.
-
cpf
<String>
- [OPCIONAL] - CPF do interessado no DF-e. Se não informado um CPF, será obrigatório informar um CNPJ.
-
tpAmb
<String>
- [OBRIGATÓRIO] - Identificação de Ambiente. Informar '1'
para Produção ou '2'
para Homologação.
-
timezone
<String>
- [OPCIONAL] - Fuso horário do autor. É utilizado 'America/Sao_Paulo'
como valor padrão. Consulte a tabela lista de timezones válidos para o Brasil.
-
options
<Object>
- [OPCIONAL]
-
requestOptions
<AxiosRequestConfig>
- [OPCIONAL]
-
httpsOptions
<AgentOptions>
- [OPCIONAL]
Enviar Lote de Eventos
Campo |
Tipo |
Tamanho |
Descrição |
idLote |
string |
1-15 |
Identificador de controle do Lote de envio do Evento. |
lote |
array |
1-20 |
Lista de eventos para manifestação. |
lote.chNFe |
string |
44 |
Chave de Acesso da NF-e vinculada ao Evento. |
lote.tpEvento |
number |
6 |
Código do evento: 210200 - Confirmacao da Operacao; 210210 - Ciencia da Operacao; 210220 - Desconhecimento da Operacao; 210240 - Operacao nao Realizada. |
lote.justificativa |
string |
15-255 |
Informar a justificativa do porque a operação não foi realizada, este campo deve ser informado somente no evento de Operação não Realizada. |
Exemplo
const { RecepcaoEvento } = require('xml-nfe.io')
const fs = require('fs')
const recepcao = new RecepcaoEvento({
pfx: fs.readFileSync('./certificado.pfx'),
passphrase: 'senha',
cnpj: '12345678901234',
tpAmb: '2',
})
const lote = [
{
chNFe: '41000000000000000000000000000000000000000040',
tipoEvento: 210210,
},
{
chNFe: '41000000000000000000000000000000000000000041',
tipoEvento: 210240,
justificativa: 'Não foi realizado a entrega correta dos itens da nota.',
},
]
const manifestacao = await recepcao.enviarEvento({
idLote: '1337',
lote: lote,
})
if (manifestacao.error) {
throw new Error(manifestacao.error)
}
console.log(manifestacao)
Tabelas
Códigos UF
UF |
cUF |
Estado |
RO |
11 |
Rondônia |
AC |
12 |
Acre |
AM |
13 |
Amazonas |
RR |
14 |
Roraima |
PA |
15 |
Pará |
AP |
16 |
Amapá |
TO |
17 |
Tocantins |
MA |
21 |
Maranhão |
PI |
22 |
Piauí |
CE |
23 |
Ceará |
RN |
24 |
Rio Grande do Norte |
PB |
25 |
Paraíba |
PE |
26 |
Pernambuco |
AL |
27 |
Alagoas |
SE |
28 |
Sergipe |
BA |
29 |
Bahia |
MG |
31 |
Minas Gerais |
ES |
32 |
Espírito Santo |
RJ |
33 |
Rio de Janeiro |
SP |
35 |
São Paulo |
PR |
41 |
Paraná |
SC |
42 |
Santa Catarina |
RS |
43 |
Rio Grande do Sul |
MS |
50 |
Mato Grosso do Sul |
MT |
51 |
Mato Grosso |
GO |
52 |
Goiás |
DF |
53 |
Distrito Federal |
Lista de Timezones
timezone |
Estado |
UTC |
America/Noronha |
Fernando de Noronha |
−02:00 |
America/Araguaina |
TO |
−03:00 |
America/Bahia |
BA |
−03:00 |
America/Belem |
AP, PA (leste) |
−03:00 |
America/Fortaleza |
CE, MA, PB, PI, RN |
−03:00 |
America/Maceio |
AL, SE |
−03:00 |
America/Recife |
PE |
−03:00 |
America/Santarem |
PA (oeste) |
−03:00 |
America/Sao_Paulo |
DF, ES, GO, MG, PR, RJ, RS, SC, SP |
−03:00 |
America/Boa_Vista |
RR |
−04:00 |
America/Campo_Grande |
MS |
−04:00 |
America/Cuiaba |
MT |
−04:00 |
America/Manaus |
AM (leste) |
−04:00 |
America/Porto_Velho |
RO |
−04:00 |
America/Eirunepe |
AM (oeste) |
−05:00 |
America/Rio_Branco |
AC |
−05:00 |