UniRate

Payload-CMS-v3-Plugin für die UniRate Währungs- und Mehrwertsteuer-API mit vier serverseitigen Endpunkten und vorgefertigtem Währungsauswahlfeld.

Community 0 6/Wo. MIT v0.1.0

Installation

pnpm add payload-plugin-unirate

Über

Das Plugin bindet die UniRate API für Währungskurse und Mehrwertsteuer in Payload CMS v3 ein. Es stellt vier serverseitige GET-Endpunkte unter `/api/unirate` bereit: `rate` für Wechselkurse, `convert` für Währungsumrechnungen, `currencies` für unterstützte Währungen und `vat` für Steuersätze. Der API-Schlüssel bleibt auf dem Server und wird nicht an den Client gesendet. Der Client kommuniziert ausschließlich mit den eigenen Payload-Endpunkten. Die Konfiguration erfolgt über das `plugins`-Array in `payload.config.ts`. Der API-Schlüssel wird entweder über die Option `apiKey` oder die Umgebungsvariable `UNIRATE_API_KEY` übergeben. Weitere Optionen sind `baseUrl` (Standard: `https://api.unirateapi.com`), `disabled` zum Deaktivieren des Plugins und `timeoutMs` (Standard: 30000) für Zeitüberschreitungen. Wenn kein API-Schlüssel konfiguriert ist, geben die Endpunkte `503` zurück, anstatt beim Start abzustürzen. Upstream-Fehler von UniRate werden auf die HTTP-Statuscodes 400, 401, 403, 404, 429 und 502 abgebildet. Zusätzlich zu den Endpunkten exportiert das Paket einen `currencyField`-Helper. Dieser erzeugt ein Payload `select`-Feld, das mit gängigen ISO-4217-Währungscodes vorausgefüllt ist. Die Liste der Codes lässt sich über Optionen überschreiben oder über den Endpunkt `/api/unirate/currencies` live abfragen. Das ist nützlich, um die Währung eines Produktpreises festzulegen. Der interne `UniRateClient` und typisierte Fehlerklassen wie `AuthenticationError`, `RateLimitError` und `ProRequiredError` werden ebenfalls exportiert und können in Hooks oder eigenen Endpunkten direkt verwendet werden. Im kostenlosen Tarif sind Kurse, Umrechnungen, die Währungsliste und Mehrwertsteuerdaten enthalten. Historische Daten und Zeitreihen erfordern ein Pro-Abo. Das Plugin hat keine eigenen Runtime-Abhängigkeiten (Payload ist eine Peer-Dependency) und erfordert Payload 3.0.0 oder neuer sowie Node 18.20 oder neuer. Der Code ist in TypeScript geschrieben und mit vitest getestet.

Paketinformationen

Paketname
payload-plugin-unirate
Neueste Version
0.1.0
Entpackte Größe
49 kB
Lizenz
MIT
Wöchentliche Downloads
6
Zuletzt veröffentlicht
29. Juli 2026

Ähnliche Plugins

Mehr in Fields