ABRA Flexi API von PHP aus

Beispiel für das Arbeiten mit API in PHP

Lenka Haringerová avatar
Verfasst von Lenka Haringerová
Vor über einer Woche aktualisiert

Möchten Sie ein Beispiel für die Arbeit mit Flexi API in PHP?

Gemeinsamer Code

Um die einzelnen Demos zu erleichtern, werden wir gemeinsamen Code zum Einrichten der Umgebung vorbereiten:

// Serverkonfiguration $host = "https://demo.flexibee.eu"; $firm = "demo"; $ch = curl_init(); // Curl-Ressource erstellen curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); // Inhalt als String von curl_exec zurückgeben curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE); // Redirects folgen (Kompatibilität für zukünftige Änderungen in Flexi) curl_setopt($ch, CURLOPT_HTTPAUTH, TRUE); // HTTP-Authentifizierung curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); // Flexi verwendet standardmäßig selbstsignierte Zertifikate // curl_setopt($ch, CURLOPT_VERBOSE, TRUE); // Zum Debuggen curl_setopt($ch, CURLOPT_USERPWD, "winstrom:winstrom"); // Benutzernamen und Passwort setzen

Und möglicherweise Druckfehler:

$output = curl_exec($ch); $info = curl_getinfo($ch); if (curl_getinfo($ch, CURLINFO_HTTP_CODE) != 200 && curl_getinfo($ch, CURLINFO_HTTP_CODE) != 201) { printf ("Bei der Operation (HTTP %d) ist ein Fehler aufgetreten: %sn", curl_getinfo($ch, CURLINFO_HTTP_CODE), $output); } // curl Ressource schließen, um Systemressourcen freizugeben curl_close($ch);

Erstellen eines Dokuments

Sie können ein Dokument erstellen, indem Sie ein einfaches XML (im Flexi XML-Format) senden, um das Dokument zu erstellen.

// Senden der Anfrage im XML-Format curl_setopt($ch, CURLOPT_URL, $host."/c/".$firma."/faktura-vydana.xml"); // Setzen der Operation selbst curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT"); // Setzen der Parameter für die Erstellung einer einfachen Rechnung curl_setopt($ch, CURLOPT_POSTFIELDS, '   code:INVOICE code:WINSTROM Meine Rechnung in PHP1000.0 true   ');

Der Bezeichner der erstellten Rechnung wird auf verschiedene Arten übergeben (siehe unterstützte HTTP-Operationen für weitere Details):

  • HTTP-Header-Speicherort: http://demo.flexibee.eu:5434/c/demo/faktura-vydana/105

  • Teil der Flexi XML-Antwort:<winstrom version="1.0"> <success>true</success> <result> <id>105</id> </result> </winstrom> Kopie

Sie können das Gleiche im JSON-Format tun:

// Senden Sie die Anfrage im JSON-Format curl_setopt($ch, CURLOPT_URL, $host."/c/".$firma."/invoice-issued.json"); // Setzen von Parametern zum Erstellen einer einfachen Rechnung // Setzen der Operation selbst curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT"); // Setzen von Parametern zum Erstellen einer einfachen Rechnung $invoice = array( "winstrom" => array( "invoice-issued" => array( "typeDoc" => "code:INVOICE", "company" => "code:WINSTROM", "description" => "Meine Rechnung in PHP", "sumDphZakl" => "1000.0", "noPosition" => "true", ) ) ); curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($invoice));

Rechnung an ISDOC exportieren

Sie können das Dokument in vielen Formaten lesen, darunter XML, JSON, PDF oder ISDOC(Übersicht der unterstützten Formate):

// Wir wollen die Anfrage im ISDOCX-Format curl_setopt($ch, CURLOPT_URL, $host."/c/".$firma."/faktura-vydana/19.isdocx"); // Die Operation selbst einrichten curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET"); // Die Operation selbst ausführen $output = curl_exec($ch); // Das Ergebnis an den Browser des Benutzers senden header("Content-Type: application/x-isdocx"); print($output);

Dokument löschen

Wenn Sie ein Dokument löschen wollen, rufen Sie einfach die HTTP-Operation DELETE darauf auf:

// Setzen Sie die URL. Das JSON am Ende ist, damit wir eine mögliche // JSON-formatierte Fehlerantwort erhalten. curl_setopt($ch, CURLOPT_URL, $host."/c/".$company."/invoice-issued/19.json"); // Setzen Sie die Operation selbst curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "DELETE"); // Führen Sie die Operation selbst aus $output = curl_exec($ch);
Hat dies Ihre Frage beantwortet?