A automação da emissão fiscal é um passo mandatório na maturidade técnica de qualquer produto digital no Brasil. Emitir notas fiscais manualmente através de portais da SEFAZ ou prefeituras consome horas de trabalho humano, gera inconsistências contábeis e impede a escala de vendas de e-commerces, SaaS, fintechs e marketplaces.
No entanto, integrar emissão fiscal a um sistema transacional não é apenas fazer uma chamada HTTP: exige arquitetura assíncrona, tolerância a falhas em órgãos governamentais, proteção contra duplicidade de notas e sincronização em tempo real via webhooks.
Neste guia prático e aprofundado, detalhamos a arquitetura de engenharia recomendada para colocar no ar um fluxo de faturamento automatizado, resiliente e escalável utilizando a API da Notaas.
🏗️ Diagrama do Fluxo de Arquitetura Resiliente
⚡ Fluxo de Emissão Desacoplado:
- 1. Checkout / Gateway: Pagamento é confirmado via PIX, Cartão ou Boleto.
- 2. Fila Assíncrona (RabbitMQ/SQS/Redis): O backend enfileira o evento de faturamento sem bloquear o usuário final.
- 3. Worker de Emissão: Dispara a requisição
POST /api/v1/emitircom chave de idempotência (referencia).- 4. Notaas API Engine: Valida schemas, assina digitalmente com certificado A1 e transmite à SEFAZ/Prefeitura.
- 5. Webhook Receptor: Notaas envia evento
nfe.authorizedounfse.authorizedcom XML e PDF para o backend.
🛠️ Pilares Fundamentais de Engenharia Fiscal
Para garantir que seu faturamento nunca pare, mesmo em dias de instabilidade da SEFAZ ou de servidores municipais, siga estas boas práticas:
1. Desacoplamento via Fila
Nunca faça a emissão da nota fiscal de forma síncrona dentro da requisição de compra do cliente final. As prefeituras e a SEFAZ podem levar de 2 a 30 segundos para responder (ou sofrer timeouts). Ao enfileirar o evento, o cliente recebe a confirmação imediata da compra e a nota é emitida em background.
2. Idempotência Rigorosa
Utilize o campo referencia como chave unívoca de idempotência (ex: fatura_assas_90182 ou order_shopify_1029). Se o seu worker falhar e reenviar a requisição, a Notaas detecta que a referência já existe e devolve a nota original sem emitir documentos duplicados nem gerar cobrança indevida.
3. Validação Prévia no Cliente (Zod / JSON Schema)
Valide se o CNPJ/CPF é matematicamente válido, se o CEP possui 8 dígitos e se o código do município do IBGE corresponde ao endereço do tomador. Rejeições precoces no cliente evitam bater em servidores governamentais com dados inconsistentes.
4. Consumo de Eventos via Webhooks com HMAC SHA-256
A Notaas assina cada webhook disparado com um cabeçalho x-notaas-signature. Seu endpoint deve validar essa assinatura criptográfica para garantir que a notificação é autêntica e não foi forjada por terceiros.
💻 Exemplo de Código: Worker de Emissão em TypeScript
import axios from "axios";
interface EmissaoPayload {
tipo: "nfse" | "nfe" | "nfce";
referencia: string;
prestador: { cnpj: string };
tomador: {
cpfCnpj: string;
razaoSocial: string;
email: string;
endereco?: {
logradouro: string;
numero: string;
bairro: string;
codigoMunicipio: string;
cep: string;
};
};
servico?: {
codigoTributacaoNacional: string;
discriminacao: string;
valorServicos: number;
aliquota: number;
};
}
export async function dispararEmissaoFiscal(dados: EmissaoPayload) {
try {
const response = await axios.post(
"https://platform.notaas.com.br/api/v1/emitir",
{
...dados,
ambiente: process.env.NODE_ENV === "production" ? "producao" : "sandbox",
},
{
headers: {
"Content-Type": "application/json",
"X-API-Key": process.env.NOTAAS_API_KEY!,
},
timeout: 15000,
}
);
console.log(`[Fiscal] Nota enfileirada com sucesso: ID ${response.data.id}`);
return response.data;
} catch (error: any) {
console.error("[Fiscal] Erro ao emitir nota:", error.response?.data || error.message);
throw error;
}
}
🔒 Exemplo: Receptor de Webhook Seguro com Verificação HMAC
// app/api/webhooks/notaas/route.ts
import { NextRequest, NextResponse } from "next/server";
import crypto from "crypto";
export async function POST(req: NextRequest) {
const signature = req.headers.get("x-notaas-signature");
const rawBody = await req.text();
const secret = process.env.NOTAAS_WEBHOOK_SECRET!;
// Validação criptográfica da assinatura
const expectedSignature = crypto
.createHmac("sha256", secret)
.update(rawBody)
.digest("hex");
if (signature !== expectedSignature) {
return NextResponse.json({ error: "Assinatura inválida" }, { status: 401 });
}
const payload = JSON.parse(rawBody);
if (payload.event === "nota.autorizada") {
const { id, referencia, urlPdf, urlXml, numeroNota } = payload.data;
console.log(`Nota ${numeroNota} autorizada para a referência ${referencia}`);
// Salvar links de PDF e XML no banco de dados e notificar cliente por e-mail
// await db.faturas.update({ where: { referencia }, data: { status: 'paga', pdfUrl: urlPdf } });
}
return NextResponse.json({ received: true });
}
❓ Perguntas Frequentes (FAQ)
Como funciona o limite do plano gratuito?
A Notaas disponibiliza 50 notas fiscais gratuitas por mês em ambiente de produção real para cada conta ou projeto. Para quem está construindo um MVP ou começando a faturar, o custo fiscal é exatamente zero.
O que acontece se a prefeitura do município do prestador estiver fora do ar?
A Notaas coloca a requisição em fila com tentativas graduais com exponential backoff. Assim que a prefeitura restabelecer a conexão, a nota é transmitida automaticamente e você recebe o webhook final com o PDF/XML.
📚 Referências Oficiais & Guias Técnicos:
- 🌐 API de Nota Fiscal: Motor unificado para emissão e gestão de NFS-e, NF-e e NFC-e via REST API.
- ⚡ API NFS-e Nacional: Guia prático de integração técnica com o padrão nacional da Receita Federal.
- 📦 API NF-e (Modelo 55): Emissão simplificada de nota fiscal de produto com DANFE em PDF.
- 🛒 API NFC-e (Modelo 65): Automação de cupom fiscal para varejo e PDV com QR Code v2.
- 📄 DANFSe v2.0 em PDF: Geração local de DANFSe e conformidade com a NT-008 sem o visualizador do ADN.
- ⚖️ Comparativo de APIs Fiscais: Análise comparativa entre Notaas, Nuvem Fiscal, Focus NFe e TecnoSpeed.
🚀 Automatize o Faturamento da sua Empresa
Elimine o trabalho manual e o risco fiscal hoje mesmo:
- 🎁 50 notas fiscais/mês grátis em produção sem expiração.
- ⚡ NFS-e Nacional, capitais e NF-e com emissão ultra-rápida.
- 📄 DANFE e DANFSe v2.0 gerados localmente prontos para envio.
👉 Criar Conta Gratuita na Notaas Platform
👉 Documentação Técnica para Desenvolvedores

