SEFAZ · Homologação & Produção · v4.00

Notas fiscais autorizadas em uma única chamada de API.

Assine com certificado A1 ICP-Brasil, transmita para a SEFAZ e receba o protocolo de autorização — emissão, cancelamento e consulta de NF-e numa REST limpa, com webhooks assinados.

cStat 100autorização em tempo real
A1 ICPassinatura automática
HMACwebhooks verificáveis
~ emitir-nfe.sh POST /assinar-transmitir
# emissão de NF-e em uma chamada
curl -X POST https://api.noria/nfe/assinar-transmitir \
-H "X-Api-Key: ••••••••" \
-d '{"xml":"<NFe>…","ambiente":"producao"}'
{
"status": "autorizado",
"protocolo": "143260000594539",
"chave": "43260505…6635303"
}
NF-e autorizadaSEFAZ · RS · mod 55
cStat100
protocolo1432…4539
Autorizado o uso da NF-e
Homologado na SEFAZ
Certificado A1 ICP-Brasil
Resposta síncrona
Webhooks com retry
Histórico paginado
Recursos

Tudo que o ciclo de vida de uma NF-e exige — sem WSDL, sem dor.

Abstraímos a assinatura XML, o transporte TLS com a SEFAZ e a leitura dos retornos. Você manda o XML, recebe o protocolo.

Emissão & assinatura A1

Envie o XML da NF-e e a API assina com seu certificado digital, transmite à SEFAZ e devolve o XML autorizado com protocolo. O CNPJ emitente é detectado para escolher o certificado certo.

POST /api/nfe/assinar-transmitir → cStat 100

Cancelamento dentro do prazo

Dispare o evento de cancelamento com chave, protocolo e justificativa. Retornamos o protocolo do evento registrado pela SEFAZ — pronto para arquivar.

POST /api/nfe/cancelar → evento registrado

Consulta na SEFAZ

Verifique a situação atual de qualquer chave de acesso diretamente na origem.

Histórico paginado

Toda emissão, cancelamento e consulta registrados e filtráveis por tipo e status.

Segurança por API Key

Autenticação por header em toda requisição, com bloqueio de contas e segredos rotacionáveis.

Como funciona

Da requisição ao protocolo em quatro passos.

1

Autentique

Envie sua X-Api-Key no header. Sem OAuth, sem fricção.

2

Mande o XML

POST do XML da NF-e sem assinatura. Nós assinamos com seu A1.

3

Transmitimos

TLS com a SEFAZ, leitura do retorno e validação do cStat.

4

Receba o protocolo

Resposta síncrona com chave, protocolo e XML autorizado.

cURL
Node.js
Python
# Emitir e transmitir uma NF-e
curl -X POST https://zapcorder.shop/api/nfe/assinar-transmitir \
  -H "X-Api-Key: $NORIA_KEY" \
  -H "Content-Type: application/json" \
  -d '{"xml":"<NFe>…</NFe>","ambiente":"producao"}'

# → { "status":"autorizado", "protocolo":"143260000594539" }
const r = await fetch("https://zapcorder.shop/api/nfe/assinar-transmitir", {
  method: "POST",
  headers: {
    "X-Api-Key": process.env.NORIA_KEY,
    "Content-Type": "application/json"
  },
  body: JSON.stringify({ xml, ambiente: "producao" })
});
const nfe = await r.json();
console.log(nfe.status, nfe.protocolo);
import requests, os

r = requests.post(
    "https://zapcorder.shop/api/nfe/assinar-transmitir",
    headers={"X-Api-Key": os.environ["NORIA_KEY"]},
    json={"xml": xml, "ambiente": "producao"},
)
nfe = r.json()
print(nfe["status"], nfe["protocolo"])
Webhooks

Eventos assinados, entregues no seu servidor.

Escolha quais eventos receber. Cada POST traz um cabeçalho X-Webhook-Signature: sha256=… assinado com seu secret, e reenviamos até 3 vezes com backoff exponencial.

nfe.autorizada
nfe.cancelada
nfe.erro
POST seu-servidor.com/webhook
// headers
X-Webhook-Event:     nfe.autorizada
X-Webhook-Signature: sha256=9f2c…

{
  "evento": "nfe.autorizada",
  "cnpj":   "05110962000117",
  "dados": {
    "chave":     "43260505…303",
    "protocolo": "143260000594539"
  }
}

Sua primeira NF-e autorizada hoje.

Crie sua conta, cadastre o certificado A1 e emita em homologação em minutos. Produção quando você estiver pronto.