TypeScript
Cliente fetch tipado, ESM, para Node ≥ 18 e navegador.
O pacote ainda não está no npm: copie sdk/typescript/src para o seu projeto (por exemplo em src/nfse/) ou use como dependência de workspace.
import { createClient } from "./nfse/client/index.js";
import { emitInvoice, getInvoiceByKey } from "./nfse/index.js";
const client = createClient({ baseUrl: "https://nfse.bassi.engineer/api/v1", auth: () => process.env.NFSE_TOKEN! });
const { data, error, response } = await emitInvoice({
client,
body: { idempotency_key: "fatura-2026-11-0042", customer_id: 1, template_id: 1 },
});
if (response?.status === 422) console.log(error?.fields); // campo inválido
const invoice = await getInvoiceByKey({ client, query: { idempotency_key: "fatura-2026-11-0042" } });- Toda função devolve
{ data, error, response }:datano sucesso,errorcom o corpo de erro tipado. - O cliente não tem URL padrão, de propósito: sem
baseUrl, nenhuma nota vai para o host errado. - O token entra por
auth; o SDK monta oAuthorization: Bearer.