SDKs
Bibliotecas oficiais que envelopam a API REST em métodos nativos — emitir NFS-e e NFC-e, consultar, cancelar, substituir, baixar XML/PDF e verificar webhooks.
Node.js
npm install @emitti/nodeimport { Emitti } from "@emitti/node";
const emitti = new Emitti({ apiKey: process.env.EMITTI_API_KEY! });
const nota = await emitti.emitir({
prestador: { cnpj: "12345678000190", inscricao_municipal: "1122334" },
tomador: { razao_social: "Cliente X", cnpj: "98765432000110" },
servico: { codigo_municipio: "3550308", codigo_servico: "01.05",
discriminacao: "Plano SaaS", valor_servicos: 499.9, aliquota_iss: 2 },
});
// nota.emissao_id · nota.status === "QUEUED"
const xml = await emitti.baixarXml(nota.emissao_id);
const pdf = await emitti.baixarPdf(nota.emissao_id); // Uint8Array
await emitti.cancelar(nota.emissao_id);
// NFC-e (modelo 65, varejo/consumidor):
const cupom = await emitti.emitirNfce({
prestador: { cnpj: "12345678000190" }, uf: "RS",
itens: [{ codigo: "SKU1", descricao: "Camiseta", ncm: "61091000",
cfop: "5102", quantidade: 1, valor_unitario: 59.9 }],
pagamentos: [{ forma: "01", valor: 59.9 }], // 01=dinheiro, 03=crédito, 17=Pix
});
const cupomPdf = await emitti.baixarPdfNfce(cupom.emissao_id); // Uint8Array (DANFE-NFC-e)
await emitti.cancelarNfce(cupom.emissao_id, "Cancelamento a pedido do cliente no PDV.");Webhook
import { webhooks } from "@emitti/node";
const ok = webhooks.verificar(rawBody, req.headers["x-emitti-signature"], SECRET);Python
pip install emittifrom emitti import Emitti
cli = Emitti(api_key="sk_live_...")
nota = cli.emitir({
"prestador": {"cnpj": "12345678000190", "inscricao_municipal": "1122334"},
"tomador": {"razao_social": "Cliente X", "cnpj": "98765432000110"},
"servico": {"codigo_municipio": "3550308", "codigo_servico": "01.05",
"discriminacao": "Plano SaaS", "valor_servicos": 499.90, "aliquota_iss": 2},
})
# nota["emissao_id"] · nota["status"] == "QUEUED"
xml = cli.baixar_xml(nota["emissao_id"])
pdf = cli.baixar_pdf(nota["emissao_id"]) # bytes
cli.cancelar(nota["emissao_id"])
# NFC-e (modelo 65, varejo/consumidor):
cupom = cli.emitir_nfce({
"prestador": {"cnpj": "12345678000190"}, "uf": "RS",
"itens": [{"codigo": "SKU1", "descricao": "Camiseta", "ncm": "61091000",
"cfop": "5102", "quantidade": 1, "valor_unitario": 59.90}],
"pagamentos": [{"forma": "01", "valor": 59.90}], # 01=dinheiro, 03=crédito, 17=Pix
})
pdf = cli.baixar_pdf_nfce(cupom["emissao_id"]) # bytes (DANFE-NFC-e)
cli.cancelar_nfce(cupom["emissao_id"], "Cancelamento a pedido do cliente no PDV.")Webhook
from emitti import verificar_webhook
ok = verificar_webhook(raw_body, request.headers["X-Emitti-Signature"], SECRET)Go
go get github.com/emittibr/emitti-goimport emitti "github.com/emittibr/emitti-go"
cli := emitti.New(os.Getenv("EMITTI_API_KEY"))
nota, err := cli.Emitir(ctx, emitti.NfseInput{
Prestador: emitti.Prestador{CNPJ: "12345678000190", InscricaoMunicipal: "1122334"},
Tomador: emitti.Tomador{RazaoSocial: "Cliente X", CNPJ: "98765432000110"},
Servico: emitti.Servico{
CodigoMunicipio: "3550308", CodigoServico: "01.05",
Discriminacao: "Plano SaaS", ValorServicos: 499.9, AliquotaISS: 2,
},
})
// nota.EmissaoID · nota.Status == "QUEUED"
// NFC-e (modelo 65, varejo):
cupom, err := cli.EmitirNfce(ctx, emitti.NfceInput{
Prestador: emitti.Prestador{CNPJ: "12345678000190"},
UF: "RS",
Itens: []emitti.NfceItem{{Codigo: "SKU1", Descricao: "Camiseta",
NCM: "61091000", CFOP: "5102", Quantidade: 1, ValorUnitario: 59.9}},
Pagamentos: []emitti.NfcePagamento{{Forma: "01", Valor: 59.9}},
})
pdf, err := cli.BaixarPdfNfce(ctx, cupom.EmissaoID) // []byte (DANFE-NFC-e)
_, err = cli.CancelarNfce(ctx, cupom.EmissaoID, "Cancelamento a pedido do cliente no PDV.")Webhook
import emitti "github.com/emittibr/emitti-go"
ok := emitti.VerificarWebhook(rawBody, r.Header.Get("X-Emitti-Signature"), secret)Os SDKs também expõem
substituir, consultar, os métodos de NFC-e (emitirNfce/cancelarNfce/baixarPdfNfce), o modo síncrono para PDV (emitirNfce(…, { sync: true }) / EmitirNfceSync) e tratamento de erro (EmittiError). Veja a referência completa e a página de agentes de IA.