eFakturuj / API Docs
Všetky onboarding návody
Pre partnerov · Partner API

Hromadný export dokladov celého portfólia

Jedno API volanie exportuje doklady všetkých (alebo vybraných) klientov za zvolené obdobie. Export beží na pozadí, výsledkom sú ZIP časti rozdelené po mesiacoch s podpísanými odkazmi na stiahnutie — vhodné na priebežnú archiváciu aj na offboarding.

Časti
po mesiacoch, max ~1 GB
Odkazy
podpísané, platné 7 dní
Notifikácia
webhook export.completed

Proces

Export v 4 krokoch

  1. 1

    Požiadajte o export

    POST /partner/exports so zvoleným obdobím (voliteľne zoznam klientov).

  2. 2

    Export beží na pozadí

    Doklady sa balia po mesiacoch; veľký mesiac sa rozdelí na viac častí na hranici klienta.

  3. 3

    Dostanete notifikáciu

    Webhook export.completed s odkazmi, e-mail z konzoly, alebo polling cez GET.

  4. 4

    Stiahnite a overte

    Každá časť má podpísaný odkaz (7 dní) a SHA-256 kontrolný súčet.

Partner API

Vytvorenie a sledovanie exportu

Obdobie je povinné (period_from / period_to, max. 5 rokov na jednu požiadavku). client_ids vynechajte alebo pošlite null pre celé portfólio. API kľúč potrebuje scope invoices:read. Na jedného partnera beží vždy najviac jeden hromadný export.

POST /api/v1/partner/exports202 Accepted → job id
curl -X POST https://api.sandbox.efakturuj.sk/api/v1/partner/exports \
  -H 'X-API-Key: efk_…' \
  -H 'Content-Type: application/json' \
  -d '{
    "period_from": "2026-01-01",
    "period_to": "2026-06-30",
    "client_ids": null
  }'

# 202 Accepted
{
  "id": "9f2c41d0-…",
  "scope": "partner",
  "status": "pending",
  "period_from": "2026-01-01",
  "period_to": "2026-06-30",
  "invoice_count": 0,
  "parts": []
}
GET /api/v1/partner/exports/{export_id}polling stavu a častí
curl https://api.sandbox.efakturuj.sk/api/v1/partner/exports/9f2c41d0-… \
  -H 'X-API-Key: efk_…'

# 200 OK (po dokončení)
{
  "id": "9f2c41d0-…",
  "scope": "partner",
  "status": "completed",
  "invoice_count": 18452,
  "expires_at": "2026-09-05T10:15:00+00:00",
  "parts": [
    {
      "period": "2026-01",
      "part_no": 1,
      "size_bytes": 812345678,
      "sha256": "d1a5…",
      "invoice_count": 3120,
      "download_url": "https://api.efakturuj.sk/api/v1/exports/download/…"
    },
    { "period": "2026-02", "part_no": 1, "…": "…" }
  ]
}

Obsah archívu — iba UBL originály

Súbory sú pomenované podľa čísla faktúry (nie UUID), takže archív je čitateľný aj bez systému. PDF sa neprikladá — dá sa kedykoľvek vygenerovať z UBL originálu. Súčasťou exportu je aj manifest.json s mapou klientov, častí a kontrolných súčtov.

2026-01-part-01.zip
└── 2026-01/
    ├── 2020111111/                 ← DIČ klienta
    │   ├── invoices.csv            ← súhrn mesiaca (14 stĺpcov)
    │   ├── invoices.json           ← strojovo čitateľný súhrn
    │   └── ubl/
    │       ├── FA-2026-001.xml     ← UBL originály (názov = číslo faktúry)
    │       └── FA-2026-002.xml
    └── 2020222222/
        └── …

Notifikácia

Webhook export.completed

Rovnaký kanál ako client.linked a client.activated: v konzole otvorte Connect → Webhooky na vlastnej firme partnera a pridajte endpoint s udalosťou export.completed. Doručenie je podpísané (HMAC-SHA256), s opakovaním a delivery logom. Payload nesie priamo podpísané odkazy na stiahnutie — príjemca môže export odčerpať bez ďalšieho volania API.

export.completed — payload
{
  "id": "3f6c…",
  "event": "export.completed",
  "created_at": "2026-08-29T10:15:00+00:00",
  "data": {
    "export_id": "9f2c41d0-…",
    "status": "completed",
    "period_from": "2026-01-01",
    "period_to": "2026-06-30",
    "invoice_count": 18452,
    "expires_at": "2026-09-05T10:15:00+00:00",
    "parts": [
      {
        "period": "2026-01",
        "part_no": 1,
        "size_bytes": 812345678,
        "sha256": "d1a5…",
        "invoice_count": 3120,
        "download_url": "https://api.efakturuj.sk/api/v1/exports/download/…"
      }
    ]
  }
}

Stiahnutie

Podpísané odkazy a kontrola integrity

Odkazy fungujú bez prihlásenia — autorizáciou je podpísaný token v URL s platnosťou 7 dní (rovnako dlho žijú aj samotné súbory; potom sa automaticky zmažú). Časti sťahujte pokojne paralelne a každú overte podľa sha256. Ak odkaz vyprší, požiadajte o nový export — vytvorenie je lacné a idempotentné vo výsledku.

stiahnutie + overenie
# Každú časť stiahnite a overte podľa sha256 z manifestu
curl -L -o 2026-01-part-01.zip "https://api.efakturuj.sk/api/v1/exports/download/…"
sha256sum 2026-01-part-01.zip   # musí sa zhodovať s "sha256" časti

Odkaz je nositeľom prístupu (bearer). Zaobchádzajte s ním ako s tajomstvom — neposielajte ho tretím stranám a nechajte ho po stiahnutí vypršať.

Jednoduchý export

Export jedného klienta alebo vlastnej firmy

Partner za klienta

POST /partner/clients/{company_id}/exports — rovnaké telo a rovnaký výsledok (mesačné časti), len pre jedného klienta. Hodí sa na offboarding jednej firmy.

Firma samoobslužne

POST /companies/{company_id}/exports — admin alebo účtovník firmy; odkazy prídu e-mailom žiadateľovi.

Limity a odporúčania

Praktické pravidlá

  • 1 bežiaci export na partnera — ďalšia požiadavka vráti 422 export_already_running.
  • Obdobie max. 5 rokov na jednu požiadavku; dlhšiu históriu rozdeľte.
  • Súbory žijú 7 dní — po vypršaní jednoducho požiadajte o nový export.
  • Odporúčanie: mesačný rytmus — priebežný export uzavretého mesiaca (1–2 časti) namiesto jedného obrieho exportu pri odchode.