Socket
Book a DemoInstallSign in
Socket

scraping-nfce-sefazes

Package Overview
Dependencies
Maintainers
1
Versions
8
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

scraping-nfce-sefazes

Webscraping de busca de NFCe

latest
npmnpm
Version
3.0.1
Version published
Maintainers
1
Created
Source

WebScraping NFCe Sefaz ES

Biblioteca para busca de informações de Nota Fiscal de Consumidor Eletrônica (NFC-e) no site da SEFAZ-ES. Retorna um objeto com os dados da NFC-e, como informações do estabelecimento, consumidor, itens, totalizadores e dados gerais.

Pré-requisitos

  • Node.js: Versão 18 ou superior.
  • Dependências: As dependências são instaladas automaticamente com o pacote. Incluem puppeteer, jimp, moment-timezone e qrcode-reader.

Instalação

Instale a biblioteca usando npm ou pnpm:

npm install @devix-tecnologia/scraping-nfce-sefaz-es
# ou
pnpm install @devix-tecnologia/scraping-nfce-sefaz-es

Uso

Importando a biblioteca

Importe a classe SefazES no seu projeto. A biblioteca suporta ESM e CommonJS:

// ESM (recomendado)
import { SefazES } from "@devix-tecnologia/scraping-nfce-sefaz-es";

// CommonJS
const { SefazES } = require("@devix-tecnologia/scraping-nfce-sefaz-es");

Criando a função de busca

Crie uma função assíncrona para chamar o método buscarNfce. O método aceita um link do QR code da NFC-e ou o caminho de uma imagem contendo o QR code.

async function buscarNota(item) {
  try {
    const { resultadoBusca } = await SefazES.buscarNfce(item);
    return resultadoBusca;
  } catch (erro) {
    console.error("Erro:", erro);
    throw erro;
  }
}

Exemplos de uso

Busca com URL do QR code

const url =
  "http://app.sefaz.es.gov.br/ConsultaNFCe/qrcode?p=08240100813024000129650010000383801000383801|2|1|1|1";

buscarNota(url)
  .then((resultado) => {
    console.log("Resultado:", JSON.stringify(resultado, null, 2));
  })
  .catch((erro) => {
    console.error("Erro:", erro);
  });

Busca com imagem do QR code

const caminhoImagem = "./caminho/para/qrcode.png";

buscarNota(caminhoImagem)
  .then((resultado) => {
    console.log("Resultado:", JSON.stringify(resultado, null, 2));
  })
  .catch((erro) => {
    console.error("Erro:", erro);
  });

Estrutura do resultado

O método buscarNfce retorna um objeto com a seguinte estrutura:

{
  resultadoBusca: {
    estabelecimento: {
      nome: string,
      cnpj: number,
      endereco: string
    },
    consumidor: {
      cpf?: number,
      nome?: string,
      logradouro?: string
    },
    infoGerais: {
      emissaoTipo?: string,
      numero?: number,
      serie?: number,
      emitidaEm?: string,
      protocolo?: number,
      chave?: string
    },
    listaItens: [
      {
        nome: string,
        codigo: number,
        quantidade: number,
        unidade: string,
        valorUnitario: number,
        valorTotal: number
      }
    ],
    totalizadores: {
      qtdTotalItens?: number,
      valorPagar?: number,
      descontos?: number,
      valorTotal?: number,
      tributos?: number
    }
  }
}

Desenvolvimento

Para rodar o projeto localmente (por exemplo, para testes ou desenvolvimento):

  • Clone o repositório:
git clone <URL_DO_REPOSITORIO>
cd scraping-nfce-sefaz-es
  • Instale as dependências:
pnpm install
  • Execute o build para compilar a biblioteca:
pnpm run build
  • Execute o script de teste:
pnpm start

O script de teste (index.js) está configurado para buscar uma NFC-e de exemplo. Edite o arquivo index.js para testar com outras URLs ou imagens.

Notas

  • Puppeteer: Requer o Chromium, que é instalado automaticamente com o puppeteer. Certifique-se de ter espaço suficiente e permissões adequadas.
  • Imagens: A leitura de QR codes depende da biblioteca qrcode-reader. Certifique-se de que as imagens fornecidas sejam claras e contenham um QR code válido.
  • Ambiente: Testado com Node.js 20.12.2. Outras versões podem requerer ajustes.

Contribuidores

  • Sidarta Veloso (GitHub, LinkedIn)
  • Fernando Gatti (GitHub, LinkedIn)

FAQs

Package last updated on 06 Jun 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts