pirabyte / laravel-lexware-office
Laravel API Client für Lexware Office - Einfache Integration der Lexware Office API in Laravel Anwendungen
Fund package maintenance!
pirabyte
Requires
- php: ^8.3|^8.4
- guzzlehttp/guzzle: ^7.5
- illuminate/support: ^11.0|^12.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.14
- mockery/mockery: ^1.5
- orchestra/testbench: ^8.0|^9.0
- phpstan/phpstan: ^1.10
- phpunit/phpunit: ^10.0
README
Laravel Lexware Office API Client
Laravel package für die Lexware Office API.
Installation
composer require pirabyte/laravel-lexware-office
php artisan vendor:publish --provider="Pirabyte\LexwareOffice\LexwareOfficeServiceProvider" --tag="config"
Verwendung
Mit Facade (Standard)
use Pirabyte\LaravelLexwareOffice\Facades\LexwareOffice; // API-Methoden nutzen $contact = LexwareOffice::contacts()->get('kontakt-id-hier');
Direkte Instanzierung (z.B. für Multi-Tenant oder dynamische API-Keys)
use Pirabyte\LaravelLexwareOffice\LexwareOffice; // Instanz mit benutzerdefiniertem API-Key erstellen $client = new LexwareOffice( 'https://api.lexoffice.de/', 'Ihr-API-Key-Hier' // z.B. aus Benutzereinstellungen oder Datenbank ); // API-Methoden nutzen $contact = $client->contacts()->get('kontakt-id-hier');
Features
- Strong Typed API-Methoden
- Automatisches Rate-Limiting (50 Anfragen pro Minute)
- Auto-Paging Iterator für effiziente Paginierung
Rate-Limiting
Die Lexware Office API limitiert die Anzahl der Anfragen auf 50 pro Minute. Dieses Package implementiert automatisch ein Rate-Limiting, um die API-Grenzen einzuhalten und 429 Too Many Requests Fehler zu vermeiden.
// Standardmäßig sind 50 Anfragen pro Minute erlaubt $lexwareOffice = app('lexware-office'); // Optional: Benutzerdefiniertes Rate-Limit setzen $lexwareOffice->setRateLimit(10); // Beschränkt auf 10 Anfragen pro Minute
Wenn das Rate-Limit erreicht wird, wird eine LexwareOfficeApiException
mit dem Statuscode 429 und einer entsprechenden Fehlermeldung geworfen, die angibt, wie lange gewartet werden muss, bevor die nächste Anfrage gesendet werden kann.
Implementierte API-Endpunkte
Kontakte
- Kontakt erstellen
- Kontakt abrufen
- Kontakte auflisten
- Kontakt aktualisieren
Belege
- Beleg erstellen
- Beleg abrufen
- Belege auflisten
- Beleg aktualisieren
- Beleg-Dokument generieren
Länder
- Länder auflisten
Finanzkonten
- Finanzkonto abrufen
- Finanzkonten filtern
- Finanzkonto löschen
Finanztransaktionen
- Transaktion abrufen
- Transaktion aktualisieren
- Transaktion löschen
- Neueste Transaktionen abrufen
- Belegzuweisungen abrufen
Transaktionszuweisungshinweise
- Transaktionszuweisungshinweis erstellen