Skip to content

smekcio/ksef-client-typescript

Repository files navigation

KSeF Client (TypeScript)

ksef-client to TypeScript SDK do integracji z KSeF. Biblioteka udostępnia typowane klienty endpointów, gotowe workflowy (auth/sesje/eksport) i narzędzia pomocnicze (XAdES, QR, linki weryfikacyjne).

Kompatybilność

  • KSeF API: v2.3.0
  • Node.js: >= 20
  • Środowiska: TEST, DEMO, PRD

Instalacja

npm install ksef-client

Opcjonalne zależności:

npm install qrcode node-forge
  • qrcode jest wymagane dla client.qr
  • node-forge jest wymagane dla XadesKeyPair.fromPkcs12*

Quick Start

import { KsefClient } from "ksef-client";

const client = await KsefClient.connect({
  environment: "DEMO",
  token: process.env.KSEF_TOKEN!,
  context: { type: "Nip", value: "5265877635" },
  pollIntervalMs: 2000,
  maxAttempts: 60,
});

const metadata = await client.invoices.queryInvoiceMetadata(
  {
    subjectType: "Subject1",
    dateRange: {
      dateType: "Issue",
      from: "2025-01-01",
      to: "2025-01-31",
    },
  },
  0,
  10,
  "Desc",
);

console.log(metadata);

Use Cases

Dokumentacja

Bezpieczeństwo

  • Nie loguj tokenów i kluczy prywatnych.
  • Przekazuj dane KSEF_* przez zmienne środowiskowe/secrets.
  • Nie commituj plików certyfikatów i kluczy (.pem, .p12, .pfx).

Licencja

MIT. Zobacz LICENSE.