Výpis dokladů
/api/v2/docsVrací přehled dokladů a uzávěrek přihlášené firmy. Každý záznam je pole hodnot v pevném pořadí (poziční řádek), ne objekt s názvy. Metoda POST na stejné adrese /api/v2/docs vrací stejný přehled, doklad nevytváří.
Filtry
Parametry v query (type, dir, sort, paid, eet, internalConsumption) fungují u GET i POST. Filtr skladů, rozsah dat a hledaný text se posílají jako pole formuláře metodou POST s Content-Type: application/x-www-form-urlencoded:
| Pole formuláře | Význam |
|---|---|
stock[] |
ID skladů. Bez hodnoty se použijí všechny sklady, ke kterým má uživatel přístup. Sklady bez přístupu se ignorují. |
fromDate |
Datum, od kterého se doklady vracejí (včetně). |
toDate |
Datum, do kterého se doklady vracejí. Porovnává se jen datum bez času. |
q |
Hledaný text. Více slov oddělených mezerou musí platit současně. Hledá se v čísle dokladu, variabilním symbolu, názvu a kódu položky a v údajích kontaktu. Doklad se najde také, když celý hledaný text přesně odpovídá čárovému kódu produktu na dokladu. |
Filtr skladů a rozsah dat platí pro doklady i uzávěrky (u uzávěrky se porovnává datum otevření). Neplatné datum se ignoruje. Filtry paid, eet, internalConsumption a q se týkají jen dokladů, ne uzávěrek.
Řazení a počet záznamů
Doklady se řadí podle sort a dir. Výpis dokladů vrací nejvýše 400 řádků cen. Doklad s více sazbami DPH zabírá více řádků, takže dokladů může být méně než 400. Stránkování ani vlastní limit nejsou k dispozici, pro užší výběr použijte filtry.
Uzávěrky se řadí od nejnovější a limit 400 se na ně nevztahuje. U type=all následují uzávěrky až za všemi doklady.
Řádek dokladu (26 pozic)
| Index | Význam | Formát |
|---|---|---|
| 0 | ID dokladu | integer |
| 1 | typ dokladu | string |
| 2 | pořadové číslo | integer |
| 3 | formátované číslo dokladu | string/null |
| 4 | variabilní symbol | string/null |
| 5 | datum vystavení | datum, u typu cash i čas |
| 6 | datum splatnosti | datum/null |
| 7 | datum zdanitelného plnění | datum/null |
| 8 | způsob platby | string/null |
| 9 | evidováno v EET | 0/1 |
| 10 | interní spotřeba | 0/1 |
| 11 | uhrazeno | 0/1 |
| 12 | ID skladu | integer |
| 13 | ID měny | integer |
| 14 | jméno a příjmení nebo název kontaktu | string/null |
| 15 | jméno uživatele, který doklad vystavil | string/null |
| 16 | ceny | [bez DPH, DPH, s DPH] |
| 17 | název periodického dokladu | string/null |
| 18 | kód periodického dokladu | string/null |
| 19 | měsíc opakování | integer |
| 20 | den opakování | integer |
| 21 | hodina opakování | hodina/null |
| 22 | poslední vystavení periodického dokladu | datum a čas/null |
| 23 | počet dní splatnosti periodického dokladu | integer |
| 24 | periodický doklad je aktivní | 0/1 |
| 25 | zálohová faktura | 0/1 |
Data mají tvar den.měsíc.rok bez úvodních nul (např. 30.1.2026). Datum vystavení hotovostního dokladu (cash) a poslední vystavení periodického dokladu obsahují i čas (např. 30.1.2026 14:05:09). Časy jsou v místním čase Europe/Prague bez uvedení časového pásma. Ceny jsou součty přes všechny sazby DPH dokladu. Nevyplněné textové hodnoty mohou být null.
Řádek uzávěrky (11 pozic)
Řádek uzávěrky má jiný tvar než řádek dokladu. Rozlišíte ho podle hodnoty closure na indexu 1.
| Index | Význam |
|---|---|
| 0 | ID uzávěrky (integer) |
| 1 | vždy closure |
| 2 | číslo uzávěrky (integer) |
| 3 | datum otevření |
| 4 | datum uzavření |
| 5 | jméno uživatele, který pokladnu otevřel |
| 6 | jméno uživatele, který pokladnu uzavřel |
| 7 | ID skladu (integer) |
| 8 | počáteční stav |
| 9 | očekávaný stav |
| 10 | napočítaný stav |
Částky na indexech 8 až 10 mohou přijít jako číslo nebo jako řetězec. Data otevření a uzavření mají stejný tvar jako u dokladů, bez času. Nevyplněné údaje jsou null.
Výpis vrací jen data firmy, ke které patří API token. Viz také Chybové stavy.
Autentizace a oprávnění
Vyžaduje API token: Bearer v hlavičce nebo URL token.
Parametry
Query parametry
| Název | Typ | Povinný | Popis | Příklad |
|---|---|---|---|---|
type | string | ne | all (výchozí, doklady i uzávěrky), closure (jen uzávěrky) nebo typ dokladu, např. invoice, cash, receipt, transfer, taking, periodic. | invoice |
dir | enum | ne | Směr řazení: ASC nebo DESC (výchozí). Jiná hodnota se bere jako DESC. | DESC |
sort | enum | ne | Řazení: price podle ceny s DPH, issued (výchozí) podle data vystavení. | issued |
paid | enum | ne | Filtr uhrazenosti: yes nebo no. Bez hodnoty se nefiltruje. | no |
eet | enum | ne | Filtr dokladů evidovaných v EET: yes nebo no. | no |
internalConsumption | enum | ne | Filtr interní spotřeby: yes nebo no. | no |
Příklad požadavku
curl
curl -X GET 'https://www.elpokladny.cz/api/v2/docs?type=invoice' \
-H 'Authorization: Bearer elp_live_example.example_secret'PHP
<?php
$ch = curl_init('https://www.elpokladny.cz/api/v2/docs?type=invoice');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => array (
0 => 'Authorization: Bearer elp_live_example.example_secret',
),
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;javascript
const response = await fetch("https://www.elpokladny.cz/api/v2/docs?type=invoice", {
"method": "GET",
"headers": {
"Authorization": "Bearer elp_live_example.example_secret"
}
});
const data = await response.json();Ukázkové odpovědi
Doklad v přehledu (HTTP 200)
application/json
{
"status": "success",
"data": [
[
1,
"invoice",
1,
"FV2026-1",
"2026001",
"30.10.2026",
"13.11.2026",
"30.10.2026",
"bank",
0,
0,
0,
1,
1,
"Ukázkový odběratel",
"Ukázkový uživatel",
[
100,
21,
121
],
null,
null,
0,
0,
null,
null,
0,
0,
0
]
]
}
Chybí platný API token (HTTP 401)
application/json
{
"status": "error",
"message": "Unauthorized"
}
Možné chyby
| HTTP | Kdy | Podoba |
|---|---|---|
| 401 | Chybí nebo je neplatný API token. | status-message |
| 403 | API token se použil z IP adresy, která není u přístupu povolená, nebo je přístup odepřen. | status-message |