Biblioteca para consumo dos Web Services da Sefaz de Distribuição de DF-e e Evento de Manifestação do Destinatário.
Essa biblioteca permite consultar a relação das notas fiscais emitidas contra um determinado CNPJ/CPF e realizar o envio do evento de manifestação, podendo assim, baixar o XML da NF-e.
Instalação
$ npm i node-mde
Pré-Requisitos
Possuir um Certificado A1 válido emitido por uma Autoridade Certificadora credenciada pela Infraestrutura de Chaves Públicas Brasileira – ICP-Brasil.
O certificado pode ser usando no formato PFX e SenhaOUcert.pem e key.pem
Funcionalidades
Consultar por último NSU
Retorna a relação dos Documentos Fiscais (Resumo da NF-e, NF-e, Resumo do Evento ou Evento)
Consultar por chave de acesso
Retorna o XML da NF-e ou o Resumo da NF-e
Consultar por NSU
Retorna o Documento Fiscal referente ao NSU informado, podendo ser um Resumo, uma NF-e ou um Evento
Envio de evento
Registra o evento de manifestação na nota informada (Confirmação da Operação, Ciência da Operação, Desconhecimento da Operação ou Operação não Realizada)
Distribuição de DF-e
Construtor
newDistribuicaoDFe(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.
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.