Na našich stránkach možno v sekcii venovanej zákazníkom nájsť zoznam faktúr, ktoré sme vystavili. Zobrazujeme o nich základné informácie, ako je číslo faktúry, dátum vystavenia a tiež stav úhrady. Výslednú faktúru je možné stiahnuť ako PDF súbor.
V nasledujúcom návode vám ukážeme postup, ktorý umožní mať rovnakú funkciu na svojich stránkach.
Stručný popis
Webový server sa opýta (s heslom) Flexi a vypíše všetky faktúry, ktoré sú vystavené na konkrétne DIČ. Predpokladáme, že pri inštalácii zabezpečíte overenie používateľa, zistenie správneho DIČ a tiež vizuálnu integráciu s vašimi webovými stránkami.
Na začiatku teda Flexi vykoná dotaz na adresu http://demo.flexibee.eu/c/demo/faktura-vydana/(dic='CZ7002051235′).js vo formáte JSON a výsledné dáta zobrazí v tabuľke. Keď používateľ prejaví záujem o PDF, načítame dáta z adresy http://demo.flexibee.eu/c/demo/faktura-vydana/21.json.
Webová aplikácia funguje ako proxy. Pristupujúci používateľ teda nemusí mať účet vo Flexi.
Pre jednoduchšiu prácu odporúčame použiť knižnicu Httpful, ktorá sa postará o korektné zostavenie CURL dotazov.
Podrobný návod
Celý balík skriptov na stiahnutie faktury-extranet.zip:
Je potrebné vytvoriť konfiguračný súbor:
$host = "https://demo.flexibee.eu:443";
$firma = "demo";
$user = "winstrom";
$password = "winstrom";
Dôležitá je časť, ktorá určuje DIČ firmy. Tu predpokladáme integráciu s vašimi webovými stránkami, ktoré zabezpečia identifikáciu používateľa a načítanie zodpovedajúcej firmy.
Teraz prichádza na rad načítanie prehľadu faktúr 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; ?>
Aby sme používateľovi umožnili zobrazenie PDF verzie faktúry, vytvoríme ešte súbor 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 Flexi REST API môžete tiež exportovať faktúru ako ISDOC, zobrazovať cenník, objednávky a oveľa viac.
