ABRA Flexi API z PHP

Príklad práce s API v PHP

Lenka Haringerová avatar
Written by Lenka Haringerová
Updated over a week ago

Chcete vidieť príklad práce s rozhraním Flexi API v jazyku PHP?

Spoločný kód

Aby sme si uľahčili jednotlivé ukážky, pripravíme si spoločný kód na nastavenie prostredia:

// konfigurácia servera $host = "https://demo.flexibee.eu"; $firm = "demo"; $ch = curl_init(); // vytvoriť curl zdroj curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); // vrátiť obsah ako reťazec z curl_exec curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE); // sledovať presmerovania (kompatibilita pre budúce zmeny vo Flexi) curl_setopt($ch, CURLOPT_HTTPAUTH, TRUE); // Autentifikácia HTTP curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); // Flexi v predvolenom nastavení používa certifikáty s vlastným podpisom // curl_setopt($ch, CURLOPT_VERBOSE, TRUE); // Pre ladenie curl_setopt($ch, CURLOPT_USERPWD, "winstrom:winstrom"); // nastaviť používateľské meno a heslo

A prípadne chyby pri tlači:

$output = curl_exec($ch); $info = curl_getinfo($ch); if (curl_getinfo($ch, CURLINFO_HTTP_CODE) != 200 && curl_getinfo($ch, CURLINFO_HTTP_CODE) != 201) { printf ("An error occurred during operation (HTTP %d): %sn", curl_getinfo($ch, CURLINFO_HTTP_CODE), $output); } // close curl resource to free up system resources curl_close($ch);

Vytvorenie dokumentu

Dokument môžete vytvoriť odoslaním jednoduchého XML (vo formáte Flexi XML) na vytvorenie dokumentu.

// Odoslanie požiadavky vo formáte XML curl_setopt($ch, CURLOPT_URL, $host."/c/".$firma."/faktura-vydana.xml"); // Nastavenie samotnej operácie curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT"); // Nastavenie parametrov pre vytvorenie jednoduchej faktúry curl_setopt($ch, CURLOPT_POSTFIELDS, '   code:INVOICE code:WINSTROM Moja faktúra v PHP1000.0 pravdivé   ');

Identifikátor vytvorenej faktúry sa odovzdáva niekoľkými spôsobmi (viac informácií nájdete v podporovaných operáciách HTTP):

  • Umiestneniehlavičky HTTP: http: //demo.flexibee.eu:5434/c/demo/faktura-vydana/105

  • Časť odpovede Flexi XML:<winstrom version="1.0"> <success>true</success> <result> <id>105</id> </result> </winstrom> Kopírovať

To isté môžete urobiť vo formáte JSON:

// Odoslanie požiadavky vo formáte JSON curl_setopt($ch, CURLOPT_URL, $host."/c/".$firma."/invoice-issued.json"); // Nastavenie parametrov pre vytvorenie jednoduchej faktúry // Nastavenie samotnej operácie curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT"); // Nastavenie parametrov pre vytvorenie jednoduchej faktúry $invoice = array( "winstrom" => array( "invoice-issued" => array( "typeDoc" => "code:INVOICE", "company" => "code:WINSTROM", "description" => "Moja faktúra v PHP", "sumDphZakl" => "1000.0", "noPosition" => "true", ) ); curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($invoice));

Export faktúry do ISDOC

Dokument môžete čítať v mnohých formátoch vrátane XML, JSON, PDF alebo ISDOC(prehľad podporovaných formátov):

// Chceme požiadavku vo formáte ISDOCX curl_setopt($ch, CURLOPT_URL, $host."/c/".$firma."/faktura-vydana/19.isdocx"); // Nastavenie samotnej operácie curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET"); // Vykonanie samotnej operácie $output = curl_exec($ch); // Odoslanie výsledku do prehliadača používateľa header("Content-Type: application/x-isdocx"); print($output);

Odstrániť dokument

Ak chcete dokument vymazať, stačí naň vyvolať operáciu HTTP DELETE:

// Nastavte URL adresu. JSON na konci je preto, aby sme dostali prípadnú // chybovú odpoveď vo formáte JSON. curl_setopt($ch, CURLOPT_URL, $host."/c/".$company."/invoice-issued/19.json"); // Nastavte samotnú operáciu curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "DELETE"); // Vykonajte samotnú operáciu $output = curl_exec($ch);
Did this answer your question?