SDKs
Bibliotecas oficiais que envelopam a API REST em métodos nativos — emitir, 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);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"])Webhook
from emitti import verificar_webhook
ok = verificar_webhook(raw_body, request.headers["X-Emitti-Signature"], SECRET)Os SDKs também expõem
substituir, consultar e tratamento de erro (EmittiError). Veja a referência completa e a página de agentes de IA.