<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.baebeca.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Fcu</id>
	<title>Baebeca Solutions GmbH - Wiki - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.baebeca.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Fcu"/>
	<link rel="alternate" type="text/html" href="https://wiki.baebeca.de/index.php?title=Spezial:Beitr%C3%A4ge/Fcu"/>
	<updated>2026-05-09T16:13:52Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://wiki.baebeca.de/index.php?title=Lexware-php-api&amp;diff=253</id>
		<title>Lexware-php-api</title>
		<link rel="alternate" type="text/html" href="https://wiki.baebeca.de/index.php?title=Lexware-php-api&amp;diff=253"/>
		<updated>2020-10-20T19:04:44Z</updated>

		<summary type="html">&lt;p&gt;Fcu: added create_creditnote&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Übersicht &amp;amp; Informationen =&lt;br /&gt;
&lt;br /&gt;
PHP Client für [https://www.awin1.com/awclick.php?gid=368497&amp;amp;mid=13787&amp;amp;awinaffid=635216&amp;amp;linkid=2440770&amp;amp;clickref= Lexoffice] REST API&lt;br /&gt;
&lt;br /&gt;
Wir lieben Automatisierung und die nahtlose Verzahnung von Systemen!&lt;br /&gt;
&lt;br /&gt;
[https://www.awin1.com/awclick.php?gid=368497&amp;amp;mid=13787&amp;amp;awinaffid=635216&amp;amp;linkid=2440770&amp;amp;clickref= Lexoffice] stellt seinen Kunden eine öffentliche API-Schnittstelle zur Verfügung über die bestehende Systeme integriert oder Prozesse automatisiert werden können.&amp;lt;br&amp;gt;&lt;br /&gt;
Für diesen Ansatz haben wir einen PHP-Client entwickelt und stellen diesen kostenfrei zur Verfügung. &lt;br /&gt;
&lt;br /&gt;
Alle weiteren Informationen finden Sie auf unserer [https://www.baebeca.de/softwareentwicklung/projekte/lexoffice-php-client/ Projektseite].&lt;br /&gt;
&lt;br /&gt;
== Baebeca Solutions bei lexoffice.de ==&lt;br /&gt;
* lexoffice [https://www.lexoffice.de/partner/public-api/integrationspartner/ Integrationspartner]&lt;br /&gt;
* lexoffice [https://www.lexoffice.de/partner/ Softwarepartner]&lt;br /&gt;
* Offizielle Lexoffice [https://developers.lexoffice.io/docs/ API-Dokumentation]&lt;br /&gt;
&lt;br /&gt;
[[Datei:Lexoffice logo.png||link=https://www.awin1.com/cread.php?s=2440752&amp;amp;v=13787&amp;amp;q=368492&amp;amp;r=635216]]&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
Die aktuelle Version können Sie jeweils in unserem Github Repository herunterladen: https://github.com/Baebeca-Solutions/lexoffice-php-api&lt;br /&gt;
&lt;br /&gt;
== Lizenz ==&lt;br /&gt;
Unsere Software wurde unter der &amp;quot;GNU Affero General Public License v3.0&amp;quot; Lizenz veröffentlicht. &lt;br /&gt;
Dies bedeutet, dass Sie unsere Software gerne in Ihren Projekten und Produkten nutzen dürfen, &lt;br /&gt;
solange Sie Ihr Projekt dann ebenso Quelloffen unter den in der Lizenz genannten Rahmenbedingungen &lt;br /&gt;
zur Verfügung stellen.&lt;br /&gt;
&lt;br /&gt;
Wenn Sie Ihre Lösung nicht veröffentlichen möchten, Support benötigen, individuelle &lt;br /&gt;
Erweiterungen benötigen oder dieses Projekt einfach Unterstützen möchten, können Sie für 99,- EUR/Netto eine lifetime Nutzungslizenz erhalten. Setzten Sie sich diesbezüglich bitte kurz mit uns in [https://www.baebeca.de/softwareentwicklung/projekte/lexoffice-php-client/ Verbindung].&lt;br /&gt;
&lt;br /&gt;
== Support ==&lt;br /&gt;
An wen kann ich mich wenden, wenn ich Probleme oder Fragen habe?&amp;lt;br&amp;gt;&lt;br /&gt;
Für diese Frage ist entscheidend, ob Sie eine Nutzungslizenz für unsere lexoffice-php-api erworben haben oder die kostenlose Variante nutzen.&lt;br /&gt;
&lt;br /&gt;
* Sofern eine Nutzungslizenz vorhanden ist, können sich jederzeit per Mail an [mailto:support@baebeca.de support@baebeca.de] wenden und erhalten vorrangigen Support. &lt;br /&gt;
* Wenn Sie die kostenlose Version nutzen bitten wir Sie auf Github einen [https://github.com/Baebeca-Solutions/lexoffice-php-api/issues issue] zu erstellen.&lt;br /&gt;
&lt;br /&gt;
== Lexoffice API Account erstellen ==&lt;br /&gt;
Erstellen Sie in Ihrem [https://www.awin1.com/awclick.php?gid=368497&amp;amp;mid=13787&amp;amp;awinaffid=635216&amp;amp;linkid=2440770&amp;amp;clickref= Lexoffice Account] einen API Key.&lt;br /&gt;
&lt;br /&gt;
Einstellungen :: Erweiterungen :: lexoffice Public API :: &amp;quot;Schlüssel neu erstellen&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Mehrwertsteuersenkung - Konjunkturpaket 01.07.2020 - 31.12.2020 ==&lt;br /&gt;
* https://www.lexoffice.de/mehrwertsteuer-rest-api/&lt;br /&gt;
* https://developers.lexoffice.io/docs/#faq-valid-tax-rates&lt;br /&gt;
&lt;br /&gt;
= Klasse einbinden =&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
// include the class file, check the correct folder&lt;br /&gt;
require_once (__DIR__.&#039;/lexoffice-php-api.php&#039;);&lt;br /&gt;
    &lt;br /&gt;
// initiate client with your settings&lt;br /&gt;
$lexoffice = new lexoffice_client(array(&lt;br /&gt;
  &#039;api_key&#039; =&amp;gt; &#039;xyz&#039;,&lt;br /&gt;
));&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;    &lt;br /&gt;
== Start Parameter ==&lt;br /&gt;
;api_key [string]&lt;br /&gt;
:API Schlüssel&lt;br /&gt;
;callback [string]&lt;br /&gt;
:Ihre Standard Callback URL für Webhooks von Lexoffice    &lt;br /&gt;
;ssl_verify [bool] (default true)&lt;br /&gt;
:Soll die SSL verbindung zu Lexoffice validiert werden&lt;br /&gt;
&lt;br /&gt;
= Methoden =&lt;br /&gt;
&lt;br /&gt;
== Account ==&lt;br /&gt;
&lt;br /&gt;
=== Account abfragen ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;$lexoffice-&amp;gt;get_profile() : object&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beispiel Rückgabe:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;organizationId&amp;quot;: &amp;quot;42b1fbdd-c4e0-4bb4-8c20-1d3d0b9432e8&amp;quot;,&lt;br /&gt;
  &amp;quot;companyName&amp;quot;: &amp;quot;Testfirma GmbH&amp;quot;,&lt;br /&gt;
  &amp;quot;created&amp;quot;: {&lt;br /&gt;
    &amp;quot;userName&amp;quot;: &amp;quot;Frau Erika Musterfrau&amp;quot;,&lt;br /&gt;
    &amp;quot;userEmail&amp;quot;: &amp;quot;erika.musterfrau@testfirma.de&amp;quot;,&lt;br /&gt;
    &amp;quot;date&amp;quot;: &amp;quot;2017-01-03T13:15:45+0100&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  &amp;quot;connectionId&amp;quot;: &amp;quot;3dea098a-fae5-4458-a85c-f97965966c25&amp;quot;,&lt;br /&gt;
  &amp;quot;features&amp;quot;: [&lt;br /&gt;
    &amp;quot;cashbox&amp;quot;&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;subscriptionStatus&amp;quot;: &amp;quot;active&amp;quot;,&lt;br /&gt;
  &amp;quot;taxType&amp;quot;: &amp;quot;net&amp;quot;,&lt;br /&gt;
  &amp;quot;isSmallBusiness&amp;quot;: false&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Rechnungen ==&lt;br /&gt;
&lt;br /&gt;
=== Rechnung abfragen ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;$lexoffice-&amp;gt;get_invoice( string $uuid ) : object&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
;uuid&lt;br /&gt;
:Die eindeutige uuid des Eintrages der abgefragt werden soll&lt;br /&gt;
&lt;br /&gt;
=== Alle Rechnungen abfragen ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;$lexoffice-&amp;gt;get_invoices_all() : object&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Die letzten n Rechnungen abfragen ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;$lexoffice-&amp;gt;get_last_invoices(int $count) : object&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Rechnung PDF herunterladen ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;legacy function - will be removed in futere releases, use &#039;&#039;get_pdf($type, $uuid, $filename)&#039;&#039; instead&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;$lexoffice-&amp;gt;get_invoice_pdf( string $uuid, string $filename) : bool&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
;uuid&lt;br /&gt;
:Die eindeutige uuid des Eintrages der abgefragt werden soll&lt;br /&gt;
;filename&lt;br /&gt;
:Der lokale Dateiname an dem das PDF abgelegt werden soll&lt;br /&gt;
&lt;br /&gt;
=== Rechnung anlegen ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;$lexoffice-&amp;gt;create_invoice( array $data [, bool $finalized = false ] ) : object&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
;data&lt;br /&gt;
:Ein Array der Rechnungsdaten nach der nötigen [https://developers.lexoffice.io/docs/#invoices-properties Lexoffice Formatierung]&lt;br /&gt;
:Beispiel&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
 array(&lt;br /&gt;
     &#039;voucherDate&#039; =&amp;gt; substr(date(&#039;c&#039;), 0, 19).&#039;.000&#039;.substr(date(&#039;c&#039;), 19),&lt;br /&gt;
     &#039;introduction&#039; =&amp;gt; &#039;Einleitungstext&#039;,&lt;br /&gt;
     &#039;remark&#039; =&amp;gt; &amp;quot;Fußzeile\r\nMehrzeilig&amp;quot;,&lt;br /&gt;
     &#039;address&#039; =&amp;gt; array(&lt;br /&gt;
     	#&#039;contactId&#039; =&amp;gt; &#039;&amp;lt;id&amp;gt;&#039;,&lt;br /&gt;
     	&#039;name&#039; =&amp;gt; &#039;Frau Jane Doe&#039;,&lt;br /&gt;
     	&#039;street&#039; =&amp;gt; &#039;Str. 1&#039;,&lt;br /&gt;
     	&#039;zip&#039; =&amp;gt; &#039;12345&#039;,&lt;br /&gt;
     	&#039;city&#039; =&amp;gt; &#039;Stadt&#039;,&lt;br /&gt;
     	&#039;countryCode&#039; =&amp;gt; &#039;DE&#039;,&lt;br /&gt;
      ),&lt;br /&gt;
      &#039;lineItems&#039; =&amp;gt; array(&lt;br /&gt;
      	array(&lt;br /&gt;
       		&#039;type&#039; =&amp;gt; &#039;custom&#039;,&lt;br /&gt;
       		&#039;name&#039; =&amp;gt; &#039;Produktname&#039;,&lt;br /&gt;
       		&#039;description&#039; =&amp;gt; &#039;Beschreibung&#039;,&lt;br /&gt;
       		&#039;quantity&#039; =&amp;gt; 1,&lt;br /&gt;
       		&#039;unitName&#039; =&amp;gt; &#039;Stück&#039;,&lt;br /&gt;
       		&#039;unitPrice&#039; =&amp;gt; array(&lt;br /&gt;
       			&#039;currency&#039; =&amp;gt; &#039;EUR&#039;,&lt;br /&gt;
       			&#039;netAmount&#039; =&amp;gt; 10.99,&lt;br /&gt;
           		&#039;taxRatePercentage&#039; =&amp;gt; 19,&lt;br /&gt;
       		),&lt;br /&gt;
       		#&#039;discountPercentage&#039; =&amp;gt; 0,&lt;br /&gt;
       	),&lt;br /&gt;
      ),&lt;br /&gt;
      &#039;totalPrice&#039; =&amp;gt; array(&lt;br /&gt;
       	&#039;currency&#039; =&amp;gt; &#039;EUR&#039;,&lt;br /&gt;
       	#&#039;totalDiscountAbsolute&#039; =&amp;gt; 0,&lt;br /&gt;
       	#&#039;totalDiscountPercentage&#039; =&amp;gt; 0,&lt;br /&gt;
      ),&lt;br /&gt;
      &#039;taxConditions&#039; =&amp;gt; array(&lt;br /&gt;
      	&#039;taxType&#039; =&amp;gt; &#039;net&#039;,&lt;br /&gt;
      ),&lt;br /&gt;
      &#039;shippingConditions&#039; =&amp;gt; array(&lt;br /&gt;
      	&#039;shippingDate&#039; =&amp;gt; date(&#039;Y-m-d&#039;).&#039;T00:00:01.000+02:00&#039;,&lt;br /&gt;
      	&#039;shippingType&#039; =&amp;gt; &#039;delivery&#039;,&lt;br /&gt;
      ),&lt;br /&gt;
      &#039;paymentConditions&#039; =&amp;gt; array(&lt;br /&gt;
      	&#039;paymentTermLabel&#039; =&amp;gt; &#039;Vorkasse&#039;,&lt;br /&gt;
      	&#039;paymentTermDuration&#039; =&amp;gt; 1,&lt;br /&gt;
      ),&lt;br /&gt;
    )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
; finalized&lt;br /&gt;
: Entscheidet ob die Rechnung fertiggestellt werden soll.&lt;br /&gt;
&lt;br /&gt;
== Gutschriften ==&lt;br /&gt;
&lt;br /&gt;
=== Gutschrift abfragen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;$lexoffice-&amp;gt;get_creditnote( string $uuid ) : object&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
;uuid&lt;br /&gt;
:Die eindeutige uuid der Gutschrift die abgefragt werden soll&lt;br /&gt;
&lt;br /&gt;
=== Gutschrift Anlegen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;$lexoffice-&amp;gt;create_creditnote( array $data [, bool $finalized = false ] ) : object&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
;data&lt;br /&gt;
:Ein Array der Gutschriftsdaten nach der nötigen [https://developers.lexoffice.io/docs/#credit-notes-endpoint-credit-notes-properties Lexoffice Formatierung]&lt;br /&gt;
:Beispiel&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
 array(&lt;br /&gt;
     &#039;voucherDate&#039; =&amp;gt; substr(date(&#039;c&#039;), 0, 19).&#039;.000&#039;.substr(date(&#039;c&#039;), 19),&lt;br /&gt;
     &#039;introduction&#039; =&amp;gt; &#039;Rechnungskorrektur&#039;,&lt;br /&gt;
     &#039;remark&#039; =&amp;gt; &amp;quot;Fußzeile\r\nMehrzeilig&amp;quot;,&lt;br /&gt;
     &#039;address&#039; =&amp;gt; array(&lt;br /&gt;
     	#&#039;contactId&#039; =&amp;gt; &#039;&amp;lt;id&amp;gt;&#039;,&lt;br /&gt;
     	&#039;name&#039; =&amp;gt; &#039;Frau Jane Doe&#039;,&lt;br /&gt;
     	&#039;street&#039; =&amp;gt; &#039;Str. 1&#039;,&lt;br /&gt;
     	&#039;zip&#039; =&amp;gt; &#039;12345&#039;,&lt;br /&gt;
     	&#039;city&#039; =&amp;gt; &#039;Stadt&#039;,&lt;br /&gt;
     	&#039;countryCode&#039; =&amp;gt; &#039;DE&#039;,&lt;br /&gt;
      ),&lt;br /&gt;
      &#039;lineItems&#039; =&amp;gt; array(&lt;br /&gt;
      	array(&lt;br /&gt;
       		&#039;type&#039; =&amp;gt; &#039;custom&#039;,&lt;br /&gt;
       		&#039;name&#039; =&amp;gt; &#039;Produktname&#039;,&lt;br /&gt;
       		&#039;description&#039; =&amp;gt; &#039;Beschreibung&#039;,&lt;br /&gt;
       		&#039;quantity&#039; =&amp;gt; 1,&lt;br /&gt;
       		&#039;unitName&#039; =&amp;gt; &#039;Stück&#039;,&lt;br /&gt;
       		&#039;unitPrice&#039; =&amp;gt; array(&lt;br /&gt;
       			&#039;currency&#039; =&amp;gt; &#039;EUR&#039;,&lt;br /&gt;
       			&#039;netAmount&#039; =&amp;gt; 10.99,&lt;br /&gt;
           		&#039;taxRatePercentage&#039; =&amp;gt; 19,&lt;br /&gt;
       		),&lt;br /&gt;
       		#&#039;discountPercentage&#039; =&amp;gt; 0,&lt;br /&gt;
       	),&lt;br /&gt;
      ),&lt;br /&gt;
      &#039;totalPrice&#039; =&amp;gt; array(&lt;br /&gt;
       	&#039;currency&#039; =&amp;gt; &#039;EUR&#039;,&lt;br /&gt;
       	#&#039;totalDiscountAbsolute&#039; =&amp;gt; 0,&lt;br /&gt;
       	#&#039;totalDiscountPercentage&#039; =&amp;gt; 0,&lt;br /&gt;
      ),&lt;br /&gt;
      &#039;taxConditions&#039; =&amp;gt; array(&lt;br /&gt;
      	&#039;taxType&#039; =&amp;gt; &#039;net&#039;,&lt;br /&gt;
      )&lt;br /&gt;
    )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
; finalized&lt;br /&gt;
: Entscheidet ob die Gutschrift fertiggestellt werden soll.&lt;br /&gt;
&lt;br /&gt;
== Angebote ==&lt;br /&gt;
&lt;br /&gt;
=== Angebot abfragen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;$lexoffice-&amp;gt;get_quotation( string $uuid ) : object&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
;uuid&lt;br /&gt;
:Die eindeutige uuid des Angebotes das abgefragt werden soll&lt;br /&gt;
&lt;br /&gt;
== Auftragsbestätigungen ==&lt;br /&gt;
&lt;br /&gt;
=== Auftragsbestätigung abfragen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;$lexoffice-&amp;gt;get_orderconfirmation( string $uuid ) : object&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
;uuid&lt;br /&gt;
:Die eindeutige uuid der Auftragsbestätigung die abgefragt werden soll&lt;br /&gt;
&lt;br /&gt;
=== Auftragsbestätigung anlegen ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;$lexoffice-&amp;gt;create_orderconfirmation( array $data ) : object&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
;data&lt;br /&gt;
:Ein Array der Auftragsbestätigungsdaten nach der nötigen [https://developers.lexoffice.io/docs/#invoices-properties Lexoffice Formatierung]&lt;br /&gt;
:Beispiel&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
 array(&lt;br /&gt;
     &#039;voucherDate&#039; =&amp;gt; substr(date(&#039;c&#039;), 0, 19).&#039;.000&#039;.substr(date(&#039;c&#039;), 19),&lt;br /&gt;
     &#039;introduction&#039; =&amp;gt; &#039;Einleitungstext&#039;,&lt;br /&gt;
     &#039;remark&#039; =&amp;gt; &amp;quot;Fußzeile\r\nMehrzeilig&amp;quot;,&lt;br /&gt;
     &#039;address&#039; =&amp;gt; array(&lt;br /&gt;
     	#&#039;contactId&#039; =&amp;gt; &#039;&amp;lt;id&amp;gt;&#039;,&lt;br /&gt;
     	&#039;name&#039; =&amp;gt; &#039;Frau Jane Doe&#039;,&lt;br /&gt;
     	&#039;street&#039; =&amp;gt; &#039;Str. 1&#039;,&lt;br /&gt;
     	&#039;zip&#039; =&amp;gt; &#039;12345&#039;,&lt;br /&gt;
     	&#039;city&#039; =&amp;gt; &#039;Stadt&#039;,&lt;br /&gt;
     	&#039;countryCode&#039; =&amp;gt; &#039;DE&#039;,&lt;br /&gt;
      ),&lt;br /&gt;
      &#039;lineItems&#039; =&amp;gt; array(&lt;br /&gt;
      	array(&lt;br /&gt;
       		&#039;type&#039; =&amp;gt; &#039;custom&#039;,&lt;br /&gt;
       		&#039;name&#039; =&amp;gt; &#039;Produktname&#039;,&lt;br /&gt;
       		&#039;description&#039; =&amp;gt; &#039;Beschreibung&#039;,&lt;br /&gt;
       		&#039;quantity&#039; =&amp;gt; 1,&lt;br /&gt;
       		&#039;unitName&#039; =&amp;gt; &#039;Stück&#039;,&lt;br /&gt;
       		&#039;unitPrice&#039; =&amp;gt; array(&lt;br /&gt;
       			&#039;currency&#039; =&amp;gt; &#039;EUR&#039;,&lt;br /&gt;
       			&#039;netAmount&#039; =&amp;gt; 10.99,&lt;br /&gt;
           		&#039;taxRatePercentage&#039; =&amp;gt; 19,&lt;br /&gt;
       		),&lt;br /&gt;
       		#&#039;discountPercentage&#039; =&amp;gt; 0,&lt;br /&gt;
       	),&lt;br /&gt;
      ),&lt;br /&gt;
      &#039;totalPrice&#039; =&amp;gt; array(&lt;br /&gt;
       	&#039;currency&#039; =&amp;gt; &#039;EUR&#039;,&lt;br /&gt;
       	#&#039;totalDiscountAbsolute&#039; =&amp;gt; 0,&lt;br /&gt;
       	#&#039;totalDiscountPercentage&#039; =&amp;gt; 0,&lt;br /&gt;
      ),&lt;br /&gt;
      &#039;taxConditions&#039; =&amp;gt; array(&lt;br /&gt;
      	&#039;taxType&#039; =&amp;gt; &#039;net&#039;,&lt;br /&gt;
      ),&lt;br /&gt;
      &#039;shippingConditions&#039; =&amp;gt; array(&lt;br /&gt;
      	&#039;shippingDate&#039; =&amp;gt; date(&#039;Y-m-d&#039;).&#039;T00:00:01.000+02:00&#039;,&lt;br /&gt;
      	&#039;shippingType&#039; =&amp;gt; &#039;delivery&#039;,&lt;br /&gt;
      ),&lt;br /&gt;
      &#039;paymentConditions&#039; =&amp;gt; array(&lt;br /&gt;
      	&#039;paymentTermLabel&#039; =&amp;gt; &#039;Vorkasse&#039;,&lt;br /&gt;
      	&#039;paymentTermDuration&#039; =&amp;gt; 1,&lt;br /&gt;
      ),&lt;br /&gt;
    )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Belege ==&lt;br /&gt;
&lt;br /&gt;
=== Beleg anlegen ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;$lexoffice-&amp;gt;create_voucher( array $data ) : object&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
;Paramater&lt;br /&gt;
;data&lt;br /&gt;
:Ein Array der Belegdaten nach der nötigen [https://developers.lexoffice.io/docs/#vouchers-endpoint-create-a-voucher Lexoffice Formatierung]&lt;br /&gt;
&lt;br /&gt;
=== Beleg abfragen ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;$lexoffice-&amp;gt;get_voucher( string $uuid ) : object&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
;Paramater&lt;br /&gt;
*uuid&lt;br /&gt;
**Die eindeutige uuid des Beleges der abgefragt werden soll&lt;br /&gt;
&lt;br /&gt;
=== Belege abfragen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;$lexoffice-&amp;gt;get_vouchers( string $type = &#039;invoice,creditnote,orderconfirmation&#039;, string $state = &#039;draft,open,paid,paidoff,voided,transferred&#039;, string $archived = &#039;both&#039;) : object&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
;type&lt;br /&gt;
:Einen oder mehrere Typen von Belegen (komma getrennt) die abgefragt werden sollen&lt;br /&gt;
;state&lt;br /&gt;
:Status der Belege die abgefragt werden sollen&lt;br /&gt;
;archived&lt;br /&gt;
:&amp;quot;both&amp;quot;, &amp;quot;true&amp;quot; oder &amp;quot;false&amp;quot; als String ob archivierte/nicht archivierte Belege ausgegeben werden sollen&lt;br /&gt;
&lt;br /&gt;
=== Belegbild hochladen (nicht zugeordnet) ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;$lexoffice-&amp;gt;upload_file($file) : object&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
;Parameter&lt;br /&gt;
*file&lt;br /&gt;
**Der Pfad zur Datei die hochgeladen werden soll&lt;br /&gt;
; Rückgabe&lt;br /&gt;
* id&lt;br /&gt;
** Die eindeutige Datei-ID von lexoffice&lt;br /&gt;
&lt;br /&gt;
;Beispiel Anfrage&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$lexoffice-&amp;gt;upload_file(__DIR__.&#039;/invoice.pdf&#039;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Beispiel Rückgabe&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
stdClass Object (&lt;br /&gt;
    [id] =&amp;gt; 221fd5ed-5547-4bd3-b7c2-9796c1a0e4a6&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Beleg hochladen (zugeordnet) ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;$lexoffice-&amp;gt;upload_voucher($uuid, $file) : object&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
;Parameter&lt;br /&gt;
*uuid&lt;br /&gt;
**Die ID des Beleges dem der Upload zugeordnet werden soll&lt;br /&gt;
*file&lt;br /&gt;
**Der Pfad zur Datei die hochgeladen werden soll&lt;br /&gt;
; Rückgabe&lt;br /&gt;
* id&lt;br /&gt;
** Die eindeutige Datei-ID von lexoffice&lt;br /&gt;
&lt;br /&gt;
=== Beleg Dateien herunterladen ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;$lexoffice-&amp;gt;get_voucher_files(string $uuid, string $filename_prefix) : array&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
;Parameter&lt;br /&gt;
*uiui&lt;br /&gt;
**Die ID des Beleges dessen Dateien heruntergeladen werden sollen&lt;br /&gt;
*filename_prefix&lt;br /&gt;
** Der Dateipfad inkl. eines Dateiprefixes. &lt;br /&gt;
; Rückgabe&lt;br /&gt;
Ein Array der Dateinamen&lt;br /&gt;
&lt;br /&gt;
;Beispiel Anfrage&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$lexoffice-&amp;gt;get_voucher_files($uuid, &#039;/files/IN_1234&#039;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Beispiel Rückgabe&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
array (&lt;br /&gt;
    [0] =&amp;gt; /files/IN_1234_1.jpg&lt;br /&gt;
    [1] =&amp;gt; /files/IN_1234_2.png&lt;br /&gt;
    [2] =&amp;gt; /files/IN_1234_3.pdf&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kontakte ==&lt;br /&gt;
&lt;br /&gt;
=== Kontakt abfragen ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;$lexoffice-&amp;gt;get_contact( string $uuid ) : object&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
;Paramater&lt;br /&gt;
*uuid&lt;br /&gt;
**Die eindeutige uuid des Eintrages der abgefragt werden soll&lt;br /&gt;
&lt;br /&gt;
=== Kontakt suchen ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;$lexoffice-&amp;gt;search_contact( array $filter ) : object&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
;Paramater&lt;br /&gt;
*filter&lt;br /&gt;
**Array bestehend aus den möglichen Filtern. Mehere Filter werden mit einem &#039;&#039;UND&#039;&#039; verknüpft.&lt;br /&gt;
*** email (mindestens 3 Zeichen)&lt;br /&gt;
*** name (mindestens 3 Zeichen)&lt;br /&gt;
*** number&lt;br /&gt;
*** customer (true/false)&lt;br /&gt;
*** vendor (true/false)&lt;br /&gt;
;Beispiel Anfrage&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$lexoffice-&amp;gt;search_contact(array(&lt;br /&gt;
	&#039;email&#039; =&amp;gt; &#039;&#039;,&lt;br /&gt;
	&#039;name&#039; =&amp;gt; &#039;John Doe&#039;,&lt;br /&gt;
	&#039;number&#039; =&amp;gt; &#039;&#039;,&lt;br /&gt;
	&#039;customer&#039; =&amp;gt; &#039;&#039;,&lt;br /&gt;
	&#039;venodr&#039; =&amp;gt; &#039;&#039;,&lt;br /&gt;
));&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Alle Kontakte abfragen ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;$lexoffice-&amp;gt;get_contacts_all() : object&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Kontakt anlegen ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;$lexoffice-&amp;gt;create_contact( array $data) : object&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
;Parameter&lt;br /&gt;
*data&lt;br /&gt;
**Ein Array der Kontaktdaten nach der nötigen [https://developers.lexoffice.io/docs/#contact-properties Lexoffice Formatierung]&lt;br /&gt;
&lt;br /&gt;
;Beispiel Anfrage&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$lexoffice-&amp;gt;create_contact(array(&lt;br /&gt;
	&#039;version&#039; =&amp;gt; 0,&lt;br /&gt;
	&#039;roles&#039; =&amp;gt; array(&lt;br /&gt;
		&#039;customer&#039; =&amp;gt; array(&lt;br /&gt;
			&#039;number&#039; =&amp;gt; &#039;&#039;,&lt;br /&gt;
		),&lt;br /&gt;
	),&lt;br /&gt;
	&#039;company&#039; =&amp;gt; array(&lt;br /&gt;
		&#039;name&#039; =&amp;gt; &#039;Baebeca Solutions GmbH&#039;,&lt;br /&gt;
		&#039;street&#039; =&amp;gt; &#039;Genklerhardt 6&#039;,&lt;br /&gt;
		&#039;zip&#039; =&amp;gt; &#039;51647&#039;,&lt;br /&gt;
		&#039;city&#039; =&amp;gt; &#039;Gummersbach&#039;,&lt;br /&gt;
		&#039;countryCode&#039; =&amp;gt; &#039;DE&#039;,&lt;br /&gt;
		&#039;contactPersons&#039; =&amp;gt; array(&lt;br /&gt;
			array(&lt;br /&gt;
				&#039;salutation&#039; =&amp;gt; &#039;Herr&#039;,&lt;br /&gt;
				&#039;firstName&#039; =&amp;gt; &#039;Jon&#039;,&lt;br /&gt;
				&#039;lastName&#039; =&amp;gt; &#039;Doe&#039;,&lt;br /&gt;
				&#039;emailAddress&#039; =&amp;gt;&#039;support@baebeca.de&#039;,&lt;br /&gt;
        			&#039;phoneNumber&#039; =&amp;gt; &#039;022619202930&#039;,&lt;br /&gt;
			)&lt;br /&gt;
		),&lt;br /&gt;
	),&lt;br /&gt;
	&#039;addresses&#039; =&amp;gt; array(&lt;br /&gt;
		&#039;billing&#039; =&amp;gt; array(&lt;br /&gt;
			array(&lt;br /&gt;
				&#039;street&#039; =&amp;gt; &#039;Genklerhardt 6&#039;,&lt;br /&gt;
				&#039;zip&#039; =&amp;gt; &#039;51647&#039;,&lt;br /&gt;
				&#039;city&#039; =&amp;gt; &#039;Gummersbach&#039;,&lt;br /&gt;
				&#039;countryCode&#039; =&amp;gt; &#039;DE&#039;,&lt;br /&gt;
			),&lt;br /&gt;
		),&lt;br /&gt;
		&#039;shipping&#039; =&amp;gt; array(&lt;br /&gt;
			array(&lt;br /&gt;
				&#039;street&#039; =&amp;gt; &#039;Genklerhardt 6&#039;,&lt;br /&gt;
				&#039;zip&#039; =&amp;gt; &#039;51647&#039;,&lt;br /&gt;
				&#039;city&#039; =&amp;gt; &#039;Gummersbach&#039;,&lt;br /&gt;
				&#039;countryCode&#039; =&amp;gt; &#039;DE&#039;,&lt;br /&gt;
			),&lt;br /&gt;
		),&lt;br /&gt;
	),&lt;br /&gt;
	&#039;emailAddresses&#039; =&amp;gt; array(&lt;br /&gt;
		&#039;business&#039; =&amp;gt; array(&lt;br /&gt;
			&#039;support@baebeca.de&#039;&lt;br /&gt;
		),&lt;br /&gt;
	),&lt;br /&gt;
	&#039;phoneNumbers&#039; =&amp;gt; array(&lt;br /&gt;
		&#039;business&#039; =&amp;gt; array(&lt;br /&gt;
			&#039;022619202930&#039;&lt;br /&gt;
		),&lt;br /&gt;
	),&lt;br /&gt;
	&#039;note&#039; =&amp;gt; &#039;&#039;,&lt;br /&gt;
));&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Kontakt aktualisieren ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;$lexoffice-&amp;gt;update_contact( string $uuid, array $data) : object&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
;Parameter&lt;br /&gt;
*uuid&lt;br /&gt;
**Die eindeutige uuid des Eintrages der abgefragt werden soll&lt;br /&gt;
*data&lt;br /&gt;
**Ein Array der Kontaktdaten nach der nötigen [https://developers.lexoffice.io/docs/#contact-properties Lexoffice Formatierung]&lt;br /&gt;
&lt;br /&gt;
== Events / Webhooks ==&lt;br /&gt;
     &lt;br /&gt;
=== Event anlegen ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;$lexoffice-&amp;gt;create_event( string $event [, bool $callback = false ] ) : array|bool&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
;event&lt;br /&gt;
:Mögliche sind alle von Lexoffice [https://developers.lexoffice.io/docs/#event-subscriptions-endpoint-event-types angebotenen Events].&lt;br /&gt;
;callback&lt;br /&gt;
:Die Callback URL für diesen Aufruf. Wenn keine angegeben wird, wird die Standard URL aus der initialisierung genutzt.&lt;br /&gt;
&lt;br /&gt;
=== Aktives Event abfragen ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;$lexoffice-&amp;gt;get_event( string $uuid ) : array&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
;uuid&lt;br /&gt;
:Die eindeutige uuid des Eintrages der abgefragt werden soll&lt;br /&gt;
&lt;br /&gt;
=== Alle aktiven Events abfragen ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;$lexoffice-&amp;gt;get_events_all() : object&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Event löschen ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;$lexoffice-&amp;gt;delete_event( string $iiud ) : object&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
;uuid&lt;br /&gt;
:Die ID eines zuvor erstellten Events.&lt;br /&gt;
&lt;br /&gt;
== Sonstiges ==&lt;br /&gt;
&lt;br /&gt;
=== PDFs herunterladen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;$lexoffice-&amp;gt;get_pdf( string $type, string $uuid, string $filename) : bool&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
;type&lt;br /&gt;
:Die Art des Beleges. Möglich Varianten sind: &amp;quot;invoices&amp;quot;, &amp;quot;credit-notes&amp;quot;&lt;br /&gt;
;uuid&lt;br /&gt;
:Die eindeutige uuid des Eintrages der abgefragt werden soll&lt;br /&gt;
;filename&lt;br /&gt;
:Der lokale Dateiname an dem das PDF abgelegt werden soll&lt;br /&gt;
&lt;br /&gt;
= Webhook Anfragen =&lt;br /&gt;
&lt;br /&gt;
Wir liefern eine &#039;&#039;callback.php&#039;&#039; mit, die als callback URL angegeben werden kann.&lt;br /&gt;
Bei allen Aufrufen wird die &#039;&#039;X-Lxo-Signature&#039;&#039; überprüft und sichergestellt, dass der Aufruf wirklich von einem lexoffice Server erstellt wurde.&lt;br /&gt;
&lt;br /&gt;
= Error Handling =&lt;br /&gt;
Alle Methoden sollten stets in einem try/catch Block verwendet werden.&amp;lt;br&amp;gt;&lt;br /&gt;
Unser Client bietet eine erweiterte Execption Klasse, die via &amp;quot;$e-&amp;gt;get_error()&amp;quot; sofern vorhanden weitere Details zur Anfrage und dem API Response zurück gibt.&lt;br /&gt;
&lt;br /&gt;
Beispiel: Versuch eines PDF Downloads von einer nicht fertig gestellten Rechnung&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; highlight=&amp;quot;3,7&amp;quot;&amp;gt;&lt;br /&gt;
try {&lt;br /&gt;
    $lexoffice-&amp;gt;get_invoice_pdf(&#039;7f0f0f7f-dd61-4bf7-a9f7-a67b0530c7e9&#039;, &#039;test.pdf&#039;);&lt;br /&gt;
} catch (lexoffice_exception $e) {&lt;br /&gt;
    echo $e-&amp;gt;getMessage();&lt;br /&gt;
    // lexoffice-php-api: error in api request - check details via $e-&amp;gt;get_error()&lt;br /&gt;
 &lt;br /&gt;
    print_r($e-&amp;gt;get_error());&lt;br /&gt;
    /*&lt;br /&gt;
    Array (&lt;br /&gt;
        [HTTP Status] =&amp;gt; 500&lt;br /&gt;
        [Requested URI] =&amp;gt; https://api.lexoffice.io/v1/invoices/7f0f0f7f-dd61-4bf7-a9f7-a67b0530c7e9/document&lt;br /&gt;
        [Requested Payload] =&amp;gt; &lt;br /&gt;
        [Response] =&amp;gt; stdClass Object&lt;br /&gt;
           (&lt;br /&gt;
                [timestamp] =&amp;gt; 2019-11-20T17:34:53.360+01:00&lt;br /&gt;
                [status] =&amp;gt; 500&lt;br /&gt;
                [error] =&amp;gt; Internal Server Error&lt;br /&gt;
                [path] =&amp;gt; /v1/invoices/7f0f0f7f-dd61-4bf7-a9f7-a67b0530c7e9/document&lt;br /&gt;
                [traceId] =&amp;gt; f9f241666675&lt;br /&gt;
                [message] =&amp;gt; A technical error has occurred that is not specified in more detail.&lt;br /&gt;
            )&lt;br /&gt;
    )&lt;br /&gt;
    */&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Fcu</name></author>
	</entry>
</feed>