Archiv dokladu

GET
/api/v2/docs/{id}/archive

Archivní 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ázevTypPovinnýPopisPříklad
idinteger anoID 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

Chybové stavy

HTTPKdyPodoba
401Chybí nebo je neplatný API token. status-message
403API token se použil z IP adresy, která není u přístupu povolená, nebo je přístup odepřen. status-message
404Doklad neexistuje, patří jiné firmě, nemá archiv (autor nemá modul 10224), nebo se archivní PDF teprve vytváří (code archive-not-found).

Související návody