Skip to content

moonfreak/lexoffice-php-api

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

lexoffice-php-api

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.

Baebeca Solutions

Die offizielle Lexoffice Dokumentation finden Sie hier.

Lexoffice

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.

1) API Account erstellen

Erstellen Sie in Ihrem Lexoffice Account einen API Key.

2) Einbinden

<?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'));

Start Parameter

api_key [string]

API Schlüssel

callback [string]

Ihre Standard Callback URL für Webhooks von Lexoffice

3) Methoden

3.1) Rechnungen

Rechnung abfragen

$lexoffice->get_invoice( string $uuid ) : array
  • uuid
    • Die eindeutige uuid des Eintrages der abgefragt werden soll

Rechnung PDF herunterladen

$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

Rechnung anlegen

$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.

3.2) Kontakte

Kontakt abfragen

$lexoffice->get_contact( string $uuid ) : array
  • uuid
    • Die eindeutige uuid des Eintrages der abgefragt werden soll

Alle Kontakte abfragen

$lexoffice->get_contacts_all() : array

Kontakt aktualisieren

$lexoffice->update_contact( string $uuid, array $data) : array
  • uuid
    • Die eindeutige uuid des Eintrages der abgefragt werden soll
  • data

3.3) Events / Webhooks

Event anlegen

$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.

Aktives Event abfragen

$lexoffice->get_event( string $uuid ) : array
  • uuid
    • Die eindeutige uuid des Eintrages der abgefragt werden soll

Alle aktiven Events abfragen

$lexoffice->get_events_all() : array

4) Bekannte Fehler/Limitierungen

Die offizielle Lexoffice REST-API befindet sich noch im Aufbau und Testphase

Releases

No releases published

Packages

No packages published

Languages

  • PHP 100.0%