PHP Client für Lexoffice REST API
Wir lieben Automatisierung! Daher stellen wir Ihnen gerne einen PHP Client zur Verfügung, um Ihre Systeme / Anwendungen an Ihren lexoffice.de Account zu binden.
Wenn Sie Hilfe bei der Anbindung Ihrer Systeme benötigen zögern Sie nicht uns anzusprechen.
Die offizielle Lexoffice Dokumentation finden Sie hier.
Bitte beachten Sie, dass die Software unter der "GNU Affero General Public License v3.0" Lizenz veröffentlicht wurde. Dies bedeutet, dass Sie unsere Software gerne in Ihren Projekten und Produkten nutzen dürfen, solange Sie Ihr Projekt dann ebenso Quelloffen unter den in der Lizenz genannten Rahmenbedingungen zur Verfügung stellen.
Wenn Sie Ihre Lösung nicht veröffentlichen möchten und Support & individuelle Änderungen/Erweiterungen erhalten möchten, können Sie auch eine kommerzielle Version erhalten. Setzten Sie sich diesbezüglich einfach mit uns in Verbindung.
Erstellen Sie in Ihrem Lexoffice Account einen API Key.
<?php
// include the class file, check the correct folder
require_once (__DIR__.'/lexoffice-php-api.php');
// initiate client with your settings
$lexoffice = new lexoffice_client(array('api_key' => 'xyz'));
api_key [string]
API Schlüssel
callback [string]
Ihre Standard Callback URL für Webhooks von Lexoffice
$lexoffice->get_invoice( string $uuid ) : array
- uuid
- Die eindeutige uuid des Eintrages der abgefragt werden soll
$lexoffice->get_invoice_pdf( string $uuid, string $filename) : bool
- uuid
- Die eindeutige uuid des Eintrages der abgefragt werden soll
- filename
- Der lokale Dateiname an dem das PDF abgelegt werden soll
$lexoffice->create_invoice( array $data [, bool $finalized = false ] ) : array
- data
- Ein Array der Rechnungsdaten nach der nötigen Lexoffice Formatierung
- Beispiel
array( 'voucherDate' => substr(date('c'), 0, 19).'.000'.substr(date('c'), 19), 'introduction' => 'Einleitungstext', 'remark' => "Fußzeile\r\nMehrzeilig", 'address' => array( #'contactId' => '<id>', 'name' => 'Frau Jane Doe', 'street' => 'Str. 1', 'zip' => '12345', 'city' => 'Stadt', 'countryCode' => 'DE', ), 'lineItems' => array( array( 'type' => 'custom', 'name' => 'Produktname', 'description' => 'Beschreibung', 'quantity' => 1, 'unitName' => 'Stück', 'unitPrice' => array( 'currency' => 'EUR', 'netAmount' => 10.99, 'taxRatePercentage' => 19, ), #'discountPercentage' => 0, ), ), 'totalPrice' => array( 'currency' => 'EUR', #'totalDiscountAbsolute' => 0, #'totalDiscountPercentage' => 0, ), 'taxConditions' => array( 'taxType' => 'net', ), 'shippingConditions' => array( 'shippingDate' => $date, 'shippingType' => 'delivery', ), 'paymentConditions' => array( 'paymentTermLabel' => 'Vorkasse', 'paymentTermDuration' => 1, ), )
- finalized
- Entscheidet ob die Rechnung fertiggestellt werden soll.
$lexoffice->get_contact( string $uuid ) : array
- uuid
- Die eindeutige uuid des Eintrages der abgefragt werden soll
$lexoffice->get_contacts_all() : array
$lexoffice->update_contact( string $uuid, array $data) : array
- uuid
- Die eindeutige uuid des Eintrages der abgefragt werden soll
- data
- Ein Array der Rechnungsdaten nach der nötigen Lexoffice Formatierung
$lexoffice->create_event( string $event [, bool $callback = false ] ) : array|bool
- event
- Mögliche Events sind "invoice.status.changed", "contact.created", "contact.changed", "contact.deleted", "token.revoked"
- callback
- Die Callback URL für diesen Aufruf. Wenn keine angegeben wird, wird die Standard URL aus der initialisierung genutzt.
$lexoffice->get_event( string $uuid ) : array
- uuid
- Die eindeutige uuid des Eintrages der abgefragt werden soll
$lexoffice->get_events_all() : array
Die offizielle Lexoffice REST-API befindet sich noch im Aufbau und Testphase