Download the PHP package pirabyte/laravel-lexware-office without Composer
On this page you can find all versions of the php package pirabyte/laravel-lexware-office. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download pirabyte/laravel-lexware-office
More information about pirabyte/laravel-lexware-office
Files in pirabyte/laravel-lexware-office
Package laravel-lexware-office
Short Description Laravel API Client für Lexware Office - Einfache Integration der Lexware Office API in Laravel Anwendungen
License MIT
Homepage https://github.com/pirabyte/laravel-lexware-office
Informations about the package laravel-lexware-office
Laravel Lexware Office
Laravel-Client für die Lexware Office API mit typisierten Modellen, OAuth2-Unterstützung und lokalem Rate-Limit. Unterstützt PHP ab 8.3 sowie Laravel 11 bis 13.
Installation
Trage deinen API-Key in .env ein:
Laravel lädt die Paketkonfiguration automatisch. Wenn du sie anpassen möchtest, veröffentliche sie mit:
Für die Speicherung von OAuth2-Tokens in der Datenbank kannst du zusätzlich die Migration mit --tag="lexware-office-migration" veröffentlichen. --tag="lexware-office" veröffentlicht Konfiguration und Migration zusammen.
Verwendung
Mit dem konfigurierten API-Key nutzt du die Facade:
Für einen anderen API-Key erstellst du einen eigenen Client:
Weitere Beispiele: Partner-Integrationen.
Implementierungsstand
Diese Ressourcen und Methoden sind derzeit im Paket implementiert:
| Bereich | Zugriff | Methoden |
|---|---|---|
| Kontakte | contacts() |
create, get, update, filter, all, count, getAutoPagingIterator |
| Belege | vouchers() |
create, createAndAttachFile, get, update, filter, all, document, downloadDocument, attachFile |
| Länder | countries() |
all |
| Finanzkonten | financialAccounts() |
create, get, filter, delete |
| Finanztransaktionen | financialTransactions() |
create, get, update, delete, latest, getVoucherAssignments |
| Buchungskategorien | postingCategories() |
get |
| Profil | profile() |
get |
| Transaktionszuweisungshinweise | transactionAssignmentHints() |
create |
| Partner-Integrationen | partnerIntegrations() |
get, update |
Besonderheit bei der neuesten Finanztransaktion
financialTransactions()->latest($financialAccountId) kann bei einem bestehenden Finanzkonto ohne Transaktionen eine 404-Antwort von Lexware erhalten. Die Methode gibt nur bei einer erfolgreichen, leeren Antwort null zurück. Wenn du prüfen musst, ob das Konto existiert, nutze zusätzlich financialAccounts()->get($financialAccountId).
Rate-Limit
Der Client prüft vor Anfragen ein lokales Laravel Rate-Limit von standardmäßig 50 Anfragen pro Minute. Bei erreichtem Limit wirft er eine LexwareOfficeApiException mit Status 429. Das Limit kannst du in config/lexware-office.php über max_requests_per_minute oder am Client ändern:
Das lokale Limit garantiert keine freien Kapazitäten bei der Lexware Office API. Für Abläufe mit mehreren Anfragen bietet der Client waitForRateLimitCapacity() an.
Im Einsatz bei
Envoix nutzt dieses Paket für seine Lexware Office Anbindung. Die Anwendung bereitet Stripe-Zahlungen, Gebühren und Belege für Lexware Office vor. So funktioniert die Stripe-Integration.
Lizenz
MIT
All versions of laravel-lexware-office with dependencies
illuminate/support Version ^11.0|^12.0|^13.0
guzzlehttp/guzzle Version ^7.10