Skip to content
PHP Client für Lexoffice REST API
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
tests
.gitignore
LICENSE
README.md
callback.php
lexoffice-php-api.php

README.md

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

You can’t perform that action at this time.