Docs
7

Prístupové údaje k sieťam

Uloženie a výmena prístupových údajov klienta k sieťam.

  • V sandboxeuloženie
  • Zatiaľ nie v sandboxesiete

Jednoducho povedané

Prístupové údaje k sieti sú kľúč alebo autorizácia, ktorá nám umožňuje konať v mene jedného klienta v sieti alebo na úrade krajiny, napríklad token pre poľský národný systém elektronickej fakturácie (KSeF). Klient ich vydá alebo autorizuje a do eurinvoice sa zadávajú cez API, nikdy nie e-mailom ani cez chat. Uchovávame ich zašifrované a nikdy ich znova nezobrazíme. Hostovaný sandbox zatiaľ žiadne nemá, takže kanál tam nič neodosiela.

Prístupové údaje k sieti nám umožňujú konať v kanáli v mene jedného klienta: token KSeF, autorizácia ANAF, kľúč platformy. Zadávajú sa cez toto API, nikdy nie e-mailom ani cez chat. API ich uchová a nikdy ich nevráti. Volania vyžadujú kľúč s oprávnením admin a kľúč klienta ukladá prístupové údaje len pre vlastného klienta.

Ako sa hodnota uchováva

Hodnota sa pred uložením zašifruje, uchováva sa oddelene od kľúča, ktorý ju chráni, a nikdy sa znova nezobrazí. Prístupové údaje sa otvoria, len keď by služba volala kanál daného klienta. Každé použitie zapíše auditný záznam bez hodnoty.

Pri prístupových údajoch, ktorých expires_on nastane o menej ako 30 dní, sa zaznamená upozornenie. Odvolanie vymaže hodnotu a ponechá dátumy.

Polia

PoleVýznam
clientIdentifikátor klienta, ten istý, aký je uvedený vo faktúre: 1 až 64 písmen, číslic, bodiek, podčiarkovníkov alebo spojovníkov. Kľúč klienta ho môže vynechať.
routeDE-XRECHNUNG, PEPPOL, FR-PA, PL-KSEF alebo RO-EFACTURA.
kindPomenúva prístupové údaje a určuje, ako sa čítajú, najviac 80 znakov z písmen, číslic, bodiek, podčiarkovníkov a spojovníkov: ksef-token pre KSeF a anaf-oauth pre ANAF. Pri kanáli Peppol alebo Francúzsko vám druh a tvar hodnoty oznámime pri začiatku uvedenia do prevádzky.
issued_byKto ich vydal, najviac 200 znakov.
issued_onDátum vydania, YYYY-MM-DD.
expires_onVoliteľné, YYYY-MM-DD. Nastavte ho, ak majú prístupové údaje obmedzenú platnosť.
environmentVoliteľné. Musí to byť prostredie služby, ktorú voláte; sandbox ukladá iba prístupové údaje sandboxu.
legal_entityVoliteľné, najviac 64 znakov. ID predávajúceho, v mene ktorého prístupové údaje konajú: IČ DPH, NIP, SIREN alebo ID spoločnosti. Prístupové údaje bez neho slúžia pre ostatné faktúry klienta.
valueTajná hodnota, najviac 16 384 znakov. Povinné a nikdy sa nevracia.

Služba skontroluje, či hodnota môže fungovať pre svoj druh, napríklad že token KSeF je JSON s nip a token. Hodnota anaf-oauth je text JSON s cui a buď s access_token, alebo s refresh_token spolu s client_id a client_secret aplikácie. Hodnota, ktorá nemôže, dostane odpoveď 422, credential-unusable, a odpoveď uvedie, aký tvar očakáva, bez citovania hodnoty.

Odpoveď obsahuje id (cred_ a 24 hexadecimálnych znakov), polia uvedené vyššie okrem value, stored (true, kým je uložená hodnota) a po odvolaní revoked_at.

Klient môže mať jedny živé prístupové údaje pre každý kanál, druh (kind), prostredie a právnu entitu. Pracovný proces použije najstaršie neodvolané prístupové údaje pre klienta a kanál faktúry.

Uloženie prístupových údajov

POST /credentials prijme polia uvedené vyššie ako JSON a odpovie 201. Požiadavka je credential-create.json.

curl -X POST "https://api-sandbox-eu.eurinvoice.com/credentials" \
  -H "Authorization: Bearer <your-api-key>" \
  -H "Content-Type: application/json" \
  --data-binary @credential-create.json
Odpoveď201
{
  "issued_by": "ANAF",
  "environment": "sandbox",
  "route": "RO-EFACTURA",
  "kind": "anaf-oauth",
  "expires_on": "2027-09-01",
  "stored": true,
  "client": "acme-srl",
  "issued_on": "2026-09-01",
  "id": "cred_5bebc3172daf651a788e4284"
}
Zaznamenané 7. okt. 2026. Hodnota je vymyslený reťazec.

Opätovné uloženie tých istých prístupových údajov, kým sú prvé živé, odpovie 409.

curl -X POST "https://api-sandbox-eu.eurinvoice.com/credentials" \
  -H "Authorization: Bearer <your-api-key>" \
  -H "Content-Type: application/json" \
  --data-binary @credential-create.json
Odpoveď409 Conflict
{
  "type": "https://eurinvoice.com/problems/credential-exists",
  "title": "This client already has this credential",
  "status": 409
}
Zaznamenané 7. okt. 2026.

Zoznam a čítanie

GET /credentials vráti všetky prístupové údaje, živé aj odvolané, ako {"data": [...]}. GET /credentials/{id} vráti jedny a pre ID, ktoré nemá, 404.

curl "https://api-sandbox-eu.eurinvoice.com/credentials" \
  -H "Authorization: Bearer <your-api-key>"
Odpoveď200 OK
{
  "data": [
    {
      "issued_by": "ANAF",
      "environment": "sandbox",
      "route": "RO-EFACTURA",
      "kind": "anaf-oauth",
      "expires_on": "2027-09-01",
      "stored": true,
      "client": "acme-srl",
      "issued_on": "2026-09-01",
      "id": "cred_5bebc3172daf651a788e4284"
    }
  ]
}
Zaznamenané 7. okt. 2026. V zozname nie je žiadna hodnota.

Výmena

POST /credentials/{id} prijme novú value a voliteľne nové expires_on. Klient, kanál, druh a dátum vydania zostávajú. Použite ho po obnovení tokenu. Požiadavka je credential-replace.json.

curl -X POST "https://api-sandbox-eu.eurinvoice.com/credentials/cred_5bebc3172daf651a788e4284" \
  -H "Authorization: Bearer <your-api-key>" \
  -H "Content-Type: application/json" \
  --data-binary @credential-replace.json
Odpoveď200 OK
{
  "issued_by": "ANAF",
  "environment": "sandbox",
  "route": "RO-EFACTURA",
  "kind": "anaf-oauth",
  "expires_on": "2028-09-01",
  "stored": true,
  "client": "acme-srl",
  "issued_on": "2026-09-01",
  "id": "cred_5bebc3172daf651a788e4284"
}
Zaznamenané 7. okt. 2026.

Odvolanie

POST /credentials/{id}/revoke vymaže hodnotu a zapíše revoked_at. Opakovanie nič nezmení.

curl -X POST "https://api-sandbox-eu.eurinvoice.com/credentials/cred_5bebc3172daf651a788e4284/revoke" \
  -H "Authorization: Bearer <your-api-key>"
Odpoveď200 OK
{
  "issued_by": "ANAF",
  "environment": "sandbox",
  "route": "RO-EFACTURA",
  "revoked_at": "2026-10-06T19:49:12.987Z",
  "kind": "anaf-oauth",
  "expires_on": "2028-09-01",
  "stored": false,
  "client": "acme-srl",
  "issued_on": "2026-09-01",
  "id": "cred_5bebc3172daf651a788e4284"
}
Zaznamenané 7. okt. 2026. `stored` má hodnotu false.

Varovanie

Odvolaný záznam zostáva, pre auditnú stopu. Nedá sa vymeniť: odpoveď je 409, credential-revoked. Nové prístupové údaje uložte namiesto toho ako nový záznam. Odvolané prístupové údaje už nebránia opätovnému uloženiu pre rovnakého klienta, kanál a druh.

Odpovede

StavVýznam
200Zoznam, jedny prístupové údaje, výmena alebo odvolanie.
201Uložené.
400Telo nie je JSON, povinné pole chýba alebo je príliš dlhé, route nie je jeden z piatich kanálov alebo dátum nie je vo formáte YYYY-MM-DD.
401Chýba kľúč alebo je neznámy.
403Kľúču chýba oprávnenie admin alebo uvádza iného klienta.
404Také prístupové údaje neexistujú.
409Klient už tieto prístupové údaje má (credential-exists) alebo boli prístupové údaje odvolané (credential-revoked).
413Telo má viac ako 5 MB (payload-too-large).
422Hodnota nemôže fungovať pre tento druh (credential-unusable).
429Príliš veľa požiadaviek pre kľúč. Počkajte Retry-After sekúnd.
503Služba nemá hlavný kľúč, ktorým by hodnotu zapečatila (unavailable).

Čo potrebuje každý kanál

V sandboxez oficiálnych zdrojov, overené 2. okt. 2026
KanálKlient dodáKto ich vydávaPlatnosť
PL-KSEFToken KSeF, ktorý môže odosielať faktúry (InvoiceWrite) a kvôli stavom ich aj čítať (InvoiceRead). Jeho oprávnenia sa určia pri vytvorení, takže zmena vyžaduje nový token. Prihlásenie certifikátom KSeF zatiaľ nie je podporované. Uloženie prístupových údajov ksef, ktoré nie sú ksef-token, odpovie 422, credential-unusable.Administrátor KSeF klienta.Pozri poznámku nižšie.
RO-EFACTURAAutorizácia OAuth pre našu registrovanú aplikáciu ANAF.Osoba s oprávneniami SPV pre CUI klienta: štatutárny zástupca alebo účtovník. Do portálu ANAF sa prihlási kvalifikovaným certifikátom.Prístupový token platí 90 dní a obnovovací token 365 dní.
PEPPOLSúhlas s registráciou klienta ako účastníka siete Peppol a overenie totožnosti, ktoré požaduje prístupový bod.Klient podpíše súhlas a prejde overením. Kľúč prístupového bodu držíme my, takže neexistujú žiadne prístupové údaje klienta na uloženie.Kľúč prístupového bodu je náš a rotujeme ho my.
FR-PAVlastný účet klienta na jeho Plateforme Agréée a prístupové údaje k API pre spoločnosť.Klient ich vytvorí na svojej platforme alebo nám udelí prístup.Určuje platforma. Opýtajte sa, aký druh vydáva.
DE-XRECHNUNGPre samotné Nemecko nič. Pri doručovaní e-mailom poštovú schránku, z ktorej sa odosiela. Cez Peppol registráciu u prístupového bodu.Klient.Neuplatňuje sa.

Tip

Nastavte expires_on podľa údajov vyššie, aby sa upozornenie 30 dní vopred spustilo skôr, než platnosť obnovovacieho tokenu vyprší.

Zdroje: postup OAuth ANAF (platnosť tokenov), dokumentácia KSeF API: tokeny (oprávnenia určené pri vytvorení tokenu).

Varovanie

Poľsko: zdroje sa nezhodujú v tom, ako dlho token KSeF funguje. Príručka ministerstva financií (vydanie z 9. feb. 2026) a stránka aplikácie pre daňovníkov (zmenená 31. mar. 2026) uvádzajú, že tokeny slúžia na autentifikáciu do 31. dec. 2026. Stránka otázok a odpovedí ministerstva uvádza, že ministerstvo sa rozhodlo ponechať tokeny v KSeF 2.0 bez dátumu ukončenia (odpoveď 39). Verejné hlásenie v repozitári KSeF API ministerstva ho žiada, aby rozpor vyriešilo. Overené 2. okt. 2026. Kým sa to nevyrieši, počítajte s obnovením tokenu, ak ministerstvo stanoví dátum ukončenia. Prihlásenie certifikátom zatiaľ nie je podporované, takže token je jediný vstup. Pozri príručku, otázky a odpovede a hlásenie.

Na tejto stránke