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