Archiv dokladu
/api/v2/docs/{id}/archiveArchivní PDF vzniká u každého dokladu, který vystaví uživatel s modulem 10224 Archiv dokladů (PDF/A), v pokladně i přes API. Server doklad po vystavení na pozadí převede na PDF/A-2b, obvykle do dvou minut. Hotové PDF se už nemění, ani když se později změní logo, šablona nebo údaje v adresáři. Účtenka má šířku papíru podle tiskárny skladu (58 nebo 80 mm) a je na jedné stránce, faktura je A4.
Úspěšná odpověď je soubor application/pdf s hlavičkami Content-Disposition: attachment a X-Content-SHA256 (otisk SHA-256 souboru). Chyby jsou JSON.
Kdy je archiv hotový
Dokud se PDF vytváří, vrací operace 404 s archive-not-found. Stav zjistíte také opakovaným vystavením dokladu se stejným hash: odpověď s duplicate: true obsahuje aktuální archive.status (pending, done nebo failed). Stav failed znamená, že se PDF nepodařilo vytvořit ani po opakovaných pokusech. Doklad je platný, obraťte se na podporu.
Ochrana archivu
Archivní PDF je v pokladně vidět jako příloha dokladu označená „Archiv“. Nejde smazat ani přepsat, a to ani v pokladně, ani přes API, a není dostupné na veřejné adrese. Stáhnout ho jde jen touto operací s tokenem uživatele stejné firmy.
Úprava dokladu
Úprava v pokladně vytvoří novou verzi dokladu s novým ID. Původní archiv se nemění a nová verze dostane vlastní archiv. V pokladně jsou všechny archivy u nejnovější verze jako přílohy …-archiv-v1.pdf, …-archiv-v2.pdf a další. Přes API stáhnete archiv každé verze podle jejího ID.
Autentizace a oprávnění
Vyžaduje API token: Bearer v hlavičce nebo URL token.
Parametry
Parametry cesty
| Název | Typ | Povinný | Popis | Příklad |
|---|---|---|---|---|
id | integer | ano | ID dokladu vaší firmy, např. documents[].id z vystavení dokladu. | 18234 |
Příklad požadavku
curl
curl -X GET 'https://www.elpokladny.cz/api/v2/docs/18234/archive' \
-H 'Authorization: Bearer elp_live_example.example_secret'PHP
<?php
$ch = curl_init('https://www.elpokladny.cz/api/v2/docs/18234/archive');
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/18234/archive", {
"method": "GET",
"headers": {
"Authorization": "Bearer elp_live_example.example_secret"
}
});
const data = await response.blob();Ukázkové odpovědi
Archivní PDF (HTTP 200)
application/pdf
Binární tělo PDF/A-2b se nezobrazuje; uložte jej do souboru. Hlavička X-Content-SHA256 nese otisk souboru.
Archiv neexistuje nebo ještě není hotový (HTTP 404)
application/json
{
"status": "error",
"code": "archive-not-found"
}
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 |
| 404 | Doklad neexistuje, patří jiné firmě, nemá archiv (autor nemá modul 10224), nebo se archivní PDF teprve vytváří (code archive-not-found). |