Na našich stránkách lze v sekci věnované zákazníkům najít seznam faktur, které jsme vystavili. Zobrazujeme o nich základní informace, jako je číslo faktury, datum vystavení a také stav úhrady. Výslednou fakturu je možné stáhnout jako PDF soubor.
V následujícím návodu vám ukážeme postup, který umožní mít stejnou funkci na svých stránkách.
Stručný popis
Webový server se dotáže (s heslem) FlexiBee a vypíše všechny faktury, které jsou vystaveny na konkrétní DIČ. Předpokládáme, že při instalaci zajistíte ověření uživatele, zjištění správného DIČ a také vizuální integraci s vašimi webovými stránkami.
Na začátku tedy FlexiBee provede dotaz na adresu http://demo.flexibee.eu/c/demo/faktura-vydana/(dic=’CZ7002051235′).js ve formátu JSON a výsledná data zobrazí v tabulce. Když uživatel projeví zájem o PDF, přečteme data z adresy http://demo.flexibee.eu/c/demo/faktura-vydana/21.json.
Webová aplikace funguje jako proxy. Přistupující uživatel tedy nemusí mít účet ve FlexiBee.
Pro snazší práci doporučujeme použít knihovnu Httpful, která se postará o korektní složení CURL dotazů.
Detailní návod
Celý balík skriptů ke stažení faktury-extranet.zip:
Je potřeba vytvořit konfigurační soubor:
<?php // zde je potřeba doplnit konfigurační údaje pro připojení na server $host = "https://demo.flexibee.eu:443"; $firma = "demo"; $user = "winstrom"; $password = "winstrom"; ?>
Důležitá je část, která určuje DIČ firmy. Zde předpokládáme integraci s vašimi webovými stránkami, které zajistí identifikaci uživatele a načtení odpovídající firmy.
Nyní již přichází na řadu načtení přehledu faktur index.php:
<?php include('httpful.phar'); include('config.php'); $evidence = 'faktura-vydana'; $limit = 30; // 0 = unlimited $dic = '"CZ7002051235"'; $suffix = "/".$evidence."/(dic=".urlencode($dic).").json?order=datVyst@D&detail=detail&limit=".$limit; $uri = $host.'/c/'.$firma.$suffix; $response = \Httpful\Request::get($uri) ->authenticateWith($user, $password) ->send(); if($response->hasErrors()) { echo '<html><body><h1 style="color:red">'.$response->body->winstrom->message.'</h1>'; die; } header('Content-Type: text/html; charset=utf-8'); ?> <html> <head> <title>Vystavené faktury</title> </head> <body> <h1>Vystavené faktury</h1> <?php if (!isset($response->body->winstrom->$evidence)): ?> <p>Na Vaši firmu nebyla vystavena žádná faktura.</p> <?php else: ?> <table> <thead> <tr> <th>Číslo faktury</th> <th>Datum faktury</th> <th>Částka</th> <th>Stav</th> </tr> </thead> <tbody> <?php foreach($response->body->winstrom->$evidence as $faktura): ?> <tr> <td><a href="pdf.php?id=<?php echo $faktura->id; ?>"><?php echo $faktura->kod; ?></a></td> <?php $date = new \DateTime($faktura->datVyst); ?> <td><?php echo $date->format('d.m.Y'); ?></td> <td style="text-align:right"><?php echo $faktura->sumCelkem; ?> Kč</td> <td><?php echo ($faktura->stavUhrK == "") ? "<span style=\"color: red\">Neuhrazeno</span>" : "<span style=\"color: green\">".$faktura->{"stavUhrK@showAs"}." (dne ".$faktura->datUhr.")</span>"; ?> </td> </tr> <?php endforeach; ?> </tbody> </table> <?php endif; ?>
Abychom uživateli umožnili zobrazení PDF verze faktury, vytvoříme ještě soubor pdf.php:
<?php include('httpful.phar'); include('config.php'); $id = $_GET["id"]; $evidence = 'faktura-vydana'; $suffix = "/".$evidence."/".urlencode($id).".pdf"; $uri = $host.'/c/'.$firma.$suffix; $response = \Httpful\Request::get($uri) ->authenticateWith($user, $password) ->send(); if($response->hasErrors()) { echo '<html><body><h1 style="color:red">'.$response->body->winstrom->message.'</h1>'; die; } header("Content-Type: application/pdf"); header("Content-Disposition: inline; filename=\"faktura.pdf\" "); echo $response->body; ?>
S rozhraním FlexiBee REST API můžete také exportovat fakturu jako ISDOC, zobrazovat ceník, objednávky a mnoho dalšího.
Výslednou aplikaci můžete vyzkoušet u nás, nebo ji stáhnout.