ABRA Flexi API z jazyka PHP

Ukázka práce s API v jazyce PHP

Lenka Haringerová avatar
Autor: Lenka Haringerová
Aktualizováno před více než týdnem

Chcete ukázkový příklad práce s Flexi API v jazyce PHP?

Společný kód

Aby byly jednotlivé ukázky jednodušší, připravíme si společný kód, který nám připraví prostředí:

// konfigurace serveru $host = "https://demo.flexibee.eu"; $firma = "demo"; $ch = curl_init(); // create curl resource curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); // return content as a string from curl_exec curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE); // follow redirects (compatibility for future changes in Flexi) curl_setopt($ch, CURLOPT_HTTPAUTH, TRUE); // HTTP authentication curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); // Flexi by default uses Self-Signed certificates // curl_setopt($ch, CURLOPT_VERBOSE, TRUE); // For debugging curl_setopt($ch, CURLOPT_USERPWD, "winstrom:winstrom"); // set username and password

A případně i vypíše chyby:

$output = curl_exec($ch); $info = curl_getinfo($ch); if (curl_getinfo($ch, CURLINFO_HTTP_CODE) != 200 && curl_getinfo($ch, CURLINFO_HTTP_CODE) != 201) { printf ("Při operaci nastala chyba (HTTP %d): %sn", curl_getinfo($ch, CURLINFO_HTTP_CODE), $output); } // close curl resource to free up system resources curl_close($ch);

Vytvoření dokladu

Doklad můžete vytvořit odesláním jednoduchého XML (ve formátu Flexi XML), které zařídí založení dokladu.

// Požadavek odešleme ve formátu XML curl_setopt($ch, CURLOPT_URL, $host."/c/".$firma."/faktura-vydana.xml"); // Nastavení samotné operace curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT"); // Nastavení parametrů pro založení jednoduché faktury curl_setopt($ch, CURLOPT_POSTFIELDS, '   code:FAKTURA code:WINSTROM Moje faktura v PHP1000.0 true   ');

Identifikátor vytvořené faktury je předán několika způsoby (více viz podporované HTTP operace):

  • HTTP Hlavičkou Location: http://demo.flexibee.eu:5434/c/demo/faktura-vydana/105

  • Součást odpovědi ve formátu Flexi XML:<winstrom version="1.0"> <success>true</success> <result> <id>105</id> </result> </winstrom> Copy

To samé můžete provést i ve formátu JSON:

// Požadavek odešleme ve formátu JSON curl_setopt($ch, CURLOPT_URL, $host."/c/".$firma."/faktura-vydana.json"); // Nastavení parametrů pro založení jednoduché faktury // Nastavení samotné operace curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT"); // Nastavení parametrů pro založení jednoduché faktury $faktura = array( "winstrom" => array ( "faktura-vydana" => array( "typDokl" => "code:FAKTURA", "firma" => "code:WINSTROM", "popis" => "Moje Faktura v PHP","sumDphZakl" => "1000.0", "bezPolozek" => "true", ) ) ); curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($faktura));

Export faktury do ISDOC

Doklad můžete přečíst v mnoha formátech včetně XML, JSON, PDF či ISDOC (přehled podporovaných formátů):

// Požadavek chceme ve formátu ISDOCX curl_setopt($ch, CURLOPT_URL, $host."/c/".$firma."/faktura-vydana/19.isdocx"); // Nastavení samotné operace curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET"); // Proveď samotnou operaci $output = curl_exec($ch); // Odešleme výsledek do prohlížeče uživatele header("Content-Type: application/x-isdocx"); print ($output);

Smazání dokladu

Pokud chcete smazat doklad, stačí nad ním vyvolat HTTP operaci DELETE:

// Nastavení URL. JSON na konci je proto, abychom dostali případnou // chybovou odpověď ve formát JSON. curl_setopt($ch, CURLOPT_URL, $host."/c/".$firma."/faktura-vydana/19.json"); // Nastavení samotné operace curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "DELETE"); // Proveď samotnou operaci $output = curl_exec($ch);
Dostali jste odpověď na svou otázku?