emitti

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/node
import { 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 emitti
from 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.