Preskočiť na obsah
Billex
Menu
Billex pre vývojárov / API v1

Vaše systémy.
Jedna prepojená fakturácia.

Od prvej faktúry po automatické úhrady a e-faktúry. Otvorený kontrakt, konkrétne príklady a udalosti, na ktoré sa môžete spoľahnúť.

REST API v1

Kontrakt pred každým volaním

OpenAPI 3.1, strojovo čitateľné schémy a kolekcia pre váš pracovný postup.

Stiahnuť OpenAPIStiahnuť Postman / Insomniahttps://www.billex.sk/api/v1

Rýchly štart

Všetky ukážky volajte zo servera. Kľúč uložte do tajnej premennej BILLEX_API_KEY; nedávajte ho do prehliadača, URL ani repozitára.

01 / Kľúč

Vytvorte API kľúč

V Nastaveniach → API kľúče vyberte firmu a rozsahy doklady.citanie, doklady.zapis a podľa potreby uhrady.zapis.

Otvoriť nastavenia kľúčov
02 / Overenie

Overte pripojenie

GET /overenie vráti firmu a rozsahy. Posielajte Authorization: Bearer … a Accept: application/json.

Kontrakt overenia
03 / Faktúra

Vystavte prvý doklad

POST /doklady, rozsah doklady.zapis. Pre nový zápis nastavte nový BILLEX_IDEMPOTENCY_KEY; pri retry zachovajte kľúč aj presné telo. Dátumy a sumy príkladu prispôsobte.

Ukážky vystavenia

Ukážky kódu

Bez SDK a nových balíkov: cURL, natívne PHP cURL, Node.js fetch a štandardná knižnica Pythonu. ID 123 nahraďte ID vlastnej faktúry. V odpovedi zoznamu sledujte meta.pagination.next_cursor; ďalšia strana zachová filtre a limit.

Vytvoriť faktúru

POST /doklady · Vstupy a odpovede

cURL
curl --fail-with-body --request POST "https://www.billex.sk/api/v1/doklady" \
  --header "Authorization: Bearer $BILLEX_API_KEY" \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --header "Idempotency-Key: $BILLEX_IDEMPOTENCY_KEY" \
  --data-binary @- <<'JSON'
{
    "typ": "faktura",
    "datum_vystavenia": "2026-10-03",
    "datum_dodania": "2026-10-03",
    "datum_splatnosti": "2026-10-17",
    "mena": "EUR",
    "sposob_uhrady": "prevod",
    "odberatel": {
        "nazov": "Demo odberateľ, s.r.o.",
        "ico": "12345678",
        "email": "integracia@example.test",
        "ulica": "Testovacia 1",
        "psc": "81101",
        "mesto": "Bratislava",
        "krajina": "Slovensko"
    },
    "polozky": [
        {
            "nazov": "Webhosting",
            "mnozstvo": "1",
            "jednotka": "mesiac",
            "cena_bez_dph": "49.00",
            "sadzba_dph": "23"
        }
    ]
}
JSON

Zoznam faktúr s filtrom

GET /doklady · Vstupy a odpovede

cURL
curl --fail-with-body --request GET "https://www.billex.sk/api/v1/doklady?typ=faktura&stav=vystaveny&limit=50" \
  --header "Authorization: Bearer $BILLEX_API_KEY" \
  --header 'Accept: application/json'

Pridať úhradu

POST /doklady/{id}/uhrady · Vstupy a odpovede

cURL
curl --fail-with-body --request POST "https://www.billex.sk/api/v1/doklady/123/uhrady" \
  --header "Authorization: Bearer $BILLEX_API_KEY" \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --header "Idempotency-Key: $BILLEX_IDEMPOTENCY_KEY" \
  --data-binary @- <<'JSON'
{
    "datum": "2026-10-10",
    "suma": "49.00",
    "sposob": "prevod",
    "poznamka": "Úhrada z integrácie"
}
JSON

Prijať webhook a overiť podpis

Overte podpis nad pôvodnými bajtmi. Prijímač vráti 2xx až po trvalom prijatí udalosti; ukážky ponechávajú 503, kým doplníte vlastnú frontu a odstránenie duplicít. Nastavte aj limity tela a timeout na HTTPS proxy.

cURL
# cURL neprijíma HTTP požiadavky. Toto je lokálny test vášho prijímača.
# WEBHOOK_URL nastavte na vlastný testovací prijímač, WEBHOOK_SECRET na jeho tajomstvo.
# Rovnaké pôvodné bajty musí prijímač overiť v PHP, Node.js alebo Pythone nižšie.
printf '%s' '{"event":"invoice.paid","document":{"id":123}}' > webhook.json
timestamp=$(date +%s)
export WEBHOOK_TIMESTAMP="$timestamp"
signature=$(php -r 'echo hash_hmac("sha256", getenv("WEBHOOK_TIMESTAMP").".".file_get_contents("webhook.json"), getenv("WEBHOOK_SECRET"));')
curl --fail-with-body "$WEBHOOK_URL" \
  --header 'Content-Type: application/json' \
  --header 'X-Webhook-Event: invoice.paid' \
  --header "X-Webhook-Timestamp: $timestamp" \
  --header "X-Webhook-Signature-V2: $signature" \
  --header 'X-Webhook-Delivery: 123' \
  --data-binary @webhook.json

Postman / Insomnia

Statická kolekcia pokrýva všetky verejné operácie z rovnakého OpenAPI ako referencia. V oboch nástrojoch zvoľte Import → File a načítajte JSON.

Stiahnuť kolekciu
Nastavte baseUrl na https://www.billex.sk/api/v1. Prázdne premenné apiKey, sandboxKey, networkToken a idempotencyKey vyplňte podľa operácie. Vypnuté query parametre sú voliteľné. DOPLNTE_HODNOTU, prázdne JSON telá a súborové polia doplňte podľa referencie; kolekcia nespúšťa požiadavky sama.

Pri zmene OpenAPI správca repozitára spustí php artisan api:generuj-kolekciu. Kolekcia neobsahuje kľúče ani adresu vývojového prostredia. Formát Postman 2.1 · Import do Insomnia

Katalóg rozsahov

Jeden API kľúč môže spájať všetky potrebné rozsahy. Vydávajte len tie, ktoré integrácia používa. Tabuľka vychádza zo spoločného katalógu aplikácie a aktuálnych balíkov; ďalej rozhodujú zapnuté moduly, práva autora a prípadné existujúce nároky firmy.

RozsahPovolené operácieBalíky / funkcia
doklady.citanieČítanie dokladov
zoznam a detail faktúr, PDF, odberatelia, číselné rady — napríklad pre účtovný program
Free, Štart, Pro
api
doklady.zapisVystavovanie dokladov
vystaviť, upraviť a zmazať faktúru či predfaktúru, dobropis, zápis odberateľa — napríklad pre e-shop
Free, Štart, Pro
api
uhrady.zapisZápis úhrad
označiť faktúru za zaplatenú — len pre program, ktorý platby naozaj vidí (banka, platobná brána)
Štart, Pro
api_payments
doklady.odosielanieOdosielanie e-mailom
poslať doklad odberateľovi e-mailom v mene vašej firmy
Štart, Pro
api_sending
eshop.katalog.citanieČítanie katalógu e-shopu
úplné predajné atribúty, varianty, desatinná dostupnosť a cenové hladiny — bez nákupných cien
Štart, Pro
warehouse
sklad.stavČítanie stavu skladu
čítať fyzické, rezervované a dostupné množstvo skladových kariet — napríklad pre e-shop
Štart, Pro
warehouse
sklad.ocenenieČítanie ocenenia skladu
čítať hodnotu zásob z uložených oceňovacích vrstiev — iba pre účtovníctvo a controlling
Štart, Pro
warehouse
financie.citanieČítanie finančných účtov
účty a pohyby pokladnice a banky; vyžaduje aj práva autora kľúča
Štart, Pro
public_finance_accounts
financie.zapisZápis finančných pohybov
vkladať a stornovať finančné pohyby; platí aj balík pre zápis úhrad
Štart, Pro
public_finance_accounts
ucty.spravaSpráva finančných účtov
vytvárať a upravovať finančné účty
Štart, Pro
public_finance_accounts
obchod.citanieČítanie obchodných dokladov
objednávky, dodacie listy a väzby obchodných dokladov
Pro
public_trade_documents
obchod.zapisZápis obchodných dokladov
vytvárať a meniť obchodné doklady a ich konverzie
Pro
public_trade_documents
katalog.citanieČítanie cenníka
katalóg, cenovky, logistika a fyzické varianty produktov
Pro
public_warehouse_operations
sklad.pohyby.citanieČítanie skladových pohybov
čítať skladové doklady a pohyby
Pro
public_warehouse_operations
sklad.pohyby.zapisZápis skladových pohybov
vytvárať skladové pohyby, prevody a storná
Pro
public_warehouse_operations
prijate.citanieČítanie prijatých dokladov
čítať prijaté doklady a ich číselníky
Štart, Pro
public_received_documents
prilohy.citanieČítanie príloh
sťahovať originály a prílohy prijatých dokladov
Štart, Pro
public_received_documents
uctovanie.citanieČítanie účtovných údajov
zahrnúť účtovné údaje pri práve autora na export
Štart, Pro
public_received_documents
dokumenty.nastrojeNástroje dokumentov
validovať a konvertovať dokumenty v rámci kvót nástrojov
Free, Štart, Pro
document_developer_tools
ponuky.zapisSpráva cenových ponúk
vytvárať a upravovať cenové ponuky, ich položky, zľavy a online zverejnenie
Štart, Pro
quotes_online
webhooky.spravaSpráva webhookov
spravovať odberové URL, udalosti, podpisové tajomstvá a doručovanie webhookov
Free, Štart, Pro
api

Sieťové rozsahy document:send, document:receive, efaktura:send a efaktura:read patria sieťovému tokenu digitálneho poštára. Neudeľujú sa bežným API kľúčom.

Kódy chýb a riešenia

Spoločná chyba má error.code, error.message a objekt error.fields. Úspešné odpovede uvádzajú data alebo pôvodnú doménovú projekciu a meta.pagination pri zoznamoch; názvy projekcií zostávajú kompatibilné. Počet je integer total_count; starší počet total je kompatibilný zastaraný alias. Peňažné sumy sa prenášajú ako desatinné reťazce; podpísané webhook payloady zachovávajú historický formát.

Pri chýbajúcom rozsahu všetky agendy vracajú CHYBA_ROZSAH. Staršie BEZ_PRAVA a TOOLS_403 pre tento prípad zastarávajú; dočasne ich identifikuje X-Billex-Legacy-Error-Code s Deprecation: true. Kód BEZ_PRAVA zostáva platný pre živé oprávnenia. Dátum odstránenia aliasov nebol vyhlásený.

Kód / HTTPVýznamRiešenie
BEZ_PRAVA
403
Autor alebo firma nemá živé oprávnenie.Overte členstvo, práva autora a aktuálny balík. Starší kód pre chýbajúci rozsah je zastaraný; nahraďte ho CHYBA_ROZSAH.
BILLEX-API-ERROR
4xx
Sieťová brána odmietla operáciu.Vyhodnoťte HTTP stav a bezpečnú správu.
BILLEX-INTERNAL
500
Sieťové spracovanie zlyhalo interne.Opakujte s rovnakým idempotency kľúčom; uveďte correlation_id podpore.
BILLEX-POSTAR
503
Digitálny poštár je nedostupný.Opakujte po oneskorení s rovnakou identitou dokumentu.
BILLEX-READ-ONLY
423
Sieťový zápis je zablokovaný režimom iba na čítanie.Overte predplatné a prístup firmy.
CHYBA_ROZSAH
403
API kľúč nemá rozsah potrebný pre operáciu.Pridajte rozsah z error.fields.scope alebo vydajte nový kľúč s potrebnými rozsahmi.
CHYBA_ROZSAH_UHRAD
payload
Objednávka bola prijatá bez zápisu úhrady.Doplňte uhrady.zapis a synchronizujte úhradu; nevytvárajte druhý doklad.
CHYBA_SERVERA
500
Operácia zlyhala interne.Opakujte s rovnakým kľúčom a oneskorením; pri pretrvávaní kontaktujte podporu.
DAVKA_PRILIS_VELKA
413
Dávka prekračuje limit riadkov alebo bajtov.Rozdeľte dávku podľa publikovaných limitov.
DOCASNE_NEDOSTUPNE
503
Dočasný výpadok závislosti alebo uloženej odpovede.Opakujte po oneskorení s rovnakým kľúčom; pri pretrvávaní pošlite podpore čas a korelačné ID.
DOKLAD_ODOSIELA_EFAKTURA
423
Elektronické doručovanie zmrazilo doklad.Počkajte na výsledok doručovania a použite zákonnú opravu dokladu; neobchádzajte zmrazenie.
DOKLAD_RUCNE_UPRAVENY
409
Synchronizácia by prepísala ručné zmeny.Porovnajte doklad a objednávku; vyriešte konflikt ručne.
DOKLAD_VYMAZANY
409
Doklad je v koši.Vráťte doklad z koša pred ďalšou úpravou.
DOKLAD_ZAMKNUTY
409
Doklad je uzamknutý.Overte možnosť odomknutia vo webovej aplikácii.
EFAKTURA_ZMAZANIE_ZAKAZANE
423
Doručený elektronický doklad nemožno zmazať.Použite opravný doklad podľa stavu a pravidiel agendy; zachovajte auditnú históriu.
EN16931_PARTIAL
validation
Čiastočná kontrola našla nesúlad.Opravte uvedené pravidlo a vykonajte úplnú validáciu pred odoslaním.
EN16931_UNVERIFIED
validation
Kontrola obchodných pravidiel sa nedokončila.Výsledok nie je potvrdením zhody; skontrolujte zdrojový doklad a opakujte kontrolu.
ESHOP_SYNC_ZLYHALA
422
Objednávka sa nedá zosynchronizovať.Opravte údaje objednávky podľa správy.
FUNKCIA_MIMO_BALIKA
403
Modul nie je povolený balíkom.Overte balík a zapnutie sandboxu alebo modulu.
IBA_SCHRANKA
403
Firma má povolenú iba Schránku.Použite firmu s oprávnením na fakturačnú agendu.
IDEMPOTENCY_KONFLIKT
409
Rovnaký kľúč už označuje inú požiadavku.Pre nový zámer použite nový kľúč; pri retry zachovajte metódu, cestu, filtre a presné telo.
INPUT_INVALID
422
Nástroj dokumentov odmietol vstup.Opravte fields podľa schémy operácie.
KEY_INVALID
422
Identifikátor alebo kľúč nástroja nie je platný.Overte hodnotu a expiráciu náhľadu.
KONFLIKT
409
Stav zdroja sa nezhoduje s požadovanou operáciou.Znova načítajte detail, vyhodnoťte stav a pripravte nový pokus.
LIMIT_BALIKA
422
Bol dosiahnutý počet záznamov povolený balíkom.Skontrolujte kvótu a zvýšte balík; neopakujte rovnaký vstup bez zmeny.
MEDZERA_V_UDALOSTIACH
409
Checkpoint je starší než retencia archívu.Urobte úplnú synchronizáciu a uložte nový checkpoint.
MIMO_BALIKA
403
Funkcia rozsahu nie je v balíku firmy.Aktivujte zodpovedajúci balík alebo doplnok.
NENAJDENE
404
Zdroj neexistuje, je neprístupný alebo je modul vypnutý.Overte identifikátor vo vlastnej firme a nastavenie modulu; neskúšajte cudzie ID.
NEPLATNE_UDAJE
422
Validácia vstupov zlyhala.Opravte polia podľa error.fields; skontrolujte povinný Idempotency-Key.
NEPLATNY_KLUC
401
Kľúč chýba, expiroval alebo bol odvolaný.Overte Bearer token a aktivitu kľúča v správnej firme.
NEPLATNY_SANDBOX_KLUC
401
Sandbox kľúč chýba alebo je neplatný.Vydajte a použite blx_test_ kľúč v sandboxe.
ODBERATEL_EXISTUJE
409
Odberateľ s daným IČO už je v adresári firmy.Vyhľadajte existujúceho odberateľa a použite jeho ID, nevytvárajte duplicitný záznam.
OPERACIA_ODMIETNUTA
4xx
Operácia bola odmietnutá všeobecnou bránou.Použite HTTP stav a správu, opravte požiadavku alebo práva.
OVERENIE_NEDOSTUPNE
503
Overenie kľúča je dočasne nedostupné.Opakujte s exponenciálnym oneskorením; pri zápise zachovajte idempotency kľúč.
PDF_NEDOSTUPNE
503
PDF sa nepodarilo vytvoriť.Skúste znova neskôr; 5xx môže byť normalizované na DOCASNE_NEDOSTUPNE.
PRILIS_VELA_POKUSOV
429
Prekročený limit pokusov o overenie z IP adresy pred overením kľúča.Dodržte Retry-After a znížte počet neplatných požiadaviek; skontrolujte konfiguráciu Bearer kľúča.
PRILIS_VELA_VOLANI
429
Prekročený limit volaní.Dodržte Retry-After, znížte súbežnosť a sledujte X-RateLimit-*.
PRISTUP_ODMIETNUTY
403
Doménové pravidlá odmietli zápis.Skontrolujte oprávnenie používateľa a dostupnosť agendy.
PROFILE_UNSUPPORTED
validation
Nepodporovaný profil alebo proces.Použite Peppol BIS Billing 3.0, billing:01:1.0.
PROVIDER_INVALID
validation
Poštár doklad odmietol.Opravte chyby validačnej odpovede poštára.
PROVIDER_NOT_CONFIGURED
validation
Firma nemá nakonfigurovaného poštára.Nastavte prepojenie na digitálneho poštára.
PROVIDER_UNAVAILABLE
validation
Poštár nedokončil overenie.Opakujte kontrolu neskôr; stav unverified nepovažujte za platný doklad.
SANDBOX_KLUC_NA_OSTROM_API
403
Testovací kľúč bol použitý na ostré API.Použite ostrý kľúč alebo sandbox trasu.
SAPI-AUTH-001
401
Sieťové poverenie je neplatné.Získajte alebo obnovte sieťový token; nejde o bežný API kľúč.
SAPI-AUTH-002
403
Sieťový token nemá potrebný rozsah alebo účastníka.Overte sieťové rozsahy a X-Peppol-Participant-Id.
SAPI-CONF-002
409
Sieťová požiadavka je v konflikte.Overte identitu dokumentu, stav a idempotenciu.
SAPI-DOC-001
422
Sieťový dokument bol odmietnutý.Opravte údaje dokladu podľa details.
SAPI-DOC-404
404
Sieťový dokument sa nenašiel.Overte ID, účastníka a smer odoslania/prijatia.
SAPI-RATE-429
429
Sieťový limit bol prekročený.Počkajte podľa Retry-After.
SAPI-VAL-001
422
Sieťové vstupné údaje nie sú platné.Opravte details/fields podľa schémy.
SAPI-VAL-413
413
Sieťový dokument je priveľký.Zmenšite dokument a prílohy podľa limitu.
SPRACOVAVA_SA
409
Rovnaká požiadavka sa práve spracúva.Počkajte a opakujte s rovnakým kľúčom a telom.
TOOLS_400
400
Nesprávna požiadavka.Opravte tvar vstupu.
TOOLS_403
403
Chýba oprávnenie nástroja.Overte balík a práva; chýbajúci rozsah teraz vracia CHYBA_ROZSAH s legacy hlavičkou TOOLS_403.
TOOLS_404
404
Zdroj nástroja sa nenašiel.Overte ID a firmu.
TOOLS_409
409
Konflikt nástroja.Načítajte aktuálny zdroj a opravte požiadavku.
TOOLS_413
413
Priveľký vstup nástroja.Zmenšite vstup.
TOOLS_422
422
Validácia nástroja zlyhala.Opravte fields.
TOOLS_429
429
Kvóta nástroja je vyčerpaná.Dodržte Retry-After a minútovú alebo dennú kvótu.
TOOLS_INTERNAL
500
Nástroj sa nedokončil.Po oneskorení opakujte; uveďte correlation_id podpore.
TOOLS_NOT_FOUND
404
Zdroj nástroja dokumentov neexistuje.Overte identifikátor vo vlastnej firme.
UBL_MAPPING
422
Doklad sa nedá namapovať do kanonického UBL modelu.Opravte identity, krajiny, jednotky, kategórie DPH a štruktúru podľa príkladu.
UBL_TOTAL_MISMATCH
validation
Súčet v UBL nesúhlasí s vypočítanými položkami.Opravte zaokrúhlenie a súčty podľa uvedeného field.
UCET_LEN_NA_CITANIE
423
Firma je v režime iba na čítanie.Overte úhradu predplatného; zápisy obnovte po odblokovaní.
XML_EXTERNAL
validation
XML používa externé zdroje.Odstráňte externé entity, XInclude a vstupné schémy.
XML_LIMIT
validation
XML prekračuje hĺbku alebo počet uzlov.Zmenšite a zjednodušte dokument.
XML_SYNTAX
validation
XML má syntaktickú chybu.Opravte riadok uvedený vo výsledku.
XML_TIMEOUT
validation
Kontrola prekročila čas alebo pamäť.Zmenšite XML a skúste znova.
XML_UNSAFE
validation
XML obsahuje nepovolené DTD, entity alebo kódovanie.Použite UTF-8 bez DTD a externých entít.
XSD_<číslo>
validation
Validátor libxml hlási chybu XSD.Opravte element a riadok podľa správy validátora.
XSD_ROOT
validation
Nesprávny koreň UBL.Použite UBL 2.1 Invoice alebo CreditNote.
invalid_grant
400
PKCE kód expiroval, bol použitý alebo nezodpovedá overeniu.Začnite nový autorizačný súhlas; skontrolujte client_id, redirect_uri a code_verifier.
neschvalene
409
Doklad čaká na schválenie pred odoslaním.Dokončite schválenie vo webovej aplikácii.

Kódy validačných vrstiev (XML_*, XSD_*, UBL_*, PROVIDER_*) môžu byť vnorené v výsledku kontroly aj pri HTTP 200. Sieťové SAPI-* chyby môžu pridávať kategóriu, retryable, details a correlation_id; OAuth výmena používa {"error":"invalid_grant","error_description":"…"}. Nové kódy z poštára vyhodnocujte podľa kategórie, príznaku opakovania a správy, nespoliehajte sa na úplný externý zoznam.

Generovanie klienta z OpenAPI

Stiahnite aktuálny dokument, validujte ho a klienta generujte vo vlastnom integračnom projekte. Návod používa samostatný nástroj OpenAPI Generator; nepridáva balík do Billexu. Použite jeho vydanie podporujúce OpenAPI 3.1, pripnite si verziu aj odtlačok kontraktu a testujte vytvorený klient v lokálnej testovacej firme.

curl --fail --location 'https://www.billex.sk/vyvojari/api/openapi.json' --output billex-openapi.json
openapi-generator-cli validate --input-spec billex-openapi.json
openapi-generator-cli generate --input-spec billex-openapi.json --generator-name typescript-fetch --output ./billex-client

Generovanie klienta sa v tomto projekte nespúšťa; interné testy overujú kontraktové invarianty a lokálne odkazy, nie úplnú zhodu s celou JSON Schema 2020-12. Pre PHP nahraďte generátor php, pre Python python. Nástroj si nainštalujte podľa jeho oficiálneho návodu a CLI dokumentácie vo vlastnom prostredí. Nastavte základnú URL https://www.billex.sk/api/v1, Bearer kľúč iba na serveri a Idempotency-Key pre zápisy. Vygenerovaný klient musí zachovať desatinné reťazce, nullable hodnoty a neznáme polia. Všeobecný typ vygenerovaný pre webhook snapshot spresnite podľa katalógu udalosti; jeho obsah je minimalizovaný podľa práv. Príklady používajú ilustračné ID a testovacie domény, nenahrádzajú údaje vašej firmy.

Webhooky

Generický prijímač dostane X-Webhook-Event a X-Webhook-Signature: hexadecimálny HMAC SHA-256 pôvodného tela s tajomstvom endpointu. Nový podpis X-Webhook-Signature-V2 je HMAC SHA-256 nad X-Webhook-Timestamp + "." + pôvodné telo, kľúčom je tajomstvo endpointu. Čas je Unix v sekundách; odmietnite odchýlku nad 300 sekúnd a pri chybe V2 neprepínajte na starší podpis. X-Webhook-Delivery je stabilné ID doručenia pre odstránenie duplicít. Starší podpis ostáva kompatibilný bez oznámeného dátumu odstránenia. Porovnávajte v konštantnom čase; JSON dekódujte až po overení.

UdalosťVýznam
invoice.issuedFaktúra vystavená
invoice.paidFaktúra zaplatená
proforma.issuedPredfaktúra vystavená
proforma.paidPredfaktúra zaplatená
proforma.cancelledPredfaktúra zrušená
service.activateSpustiť službu
service.suspendPozastaviť službu
service.restoreObnoviť službu
service.expiringSlužba sa blíži ku koncu

Za úspech sa považuje 2xx. Dočasná chyba sa opakuje po 1 minúte, 5 minútach, 1 hodine a 6 hodinách; po piatom pokuse je doručenie vyčerpané. Trvalá chyba nastavenia sa uzavrie bez ďalšieho retry. Nespoliehajte sa na poradie ani jediné doručenie: doménovú identitu a spracovanie ukladajte atomicky. Pri dokladoch môže identitu tvoriť kombinácia event, document.id a timestamp, pri entitách vlastné ID udalosti. HTTPS endpoint musí mať verejnú IP; presmerovania sa nepovoľujú.

Správa odberov cez API

Všetky operácie vyžadujú rozsah webhooky.sprava, aktívneho autora kľúča s aktuálnym členstvom vo firme a právom nastavenia.spravovat; kľúč bez autora je odmietnutý. Dostupnosť každej udalosti navyše určujú jej balík a doménové práva. Operácie: GET /webhooky, POST /webhooky, GET/PATCH/DELETE /webhooky/{id}, POST /webhooky/{id}/tajomstvo, GET /webhooky/{id}/dorucenia a POST /webhooky/{id}/dorucenia/{delivery}/opakovat. Pri zápise použite Idempotency-Key. Vytvorenie a rotácia ukážu signing_secret raz; bezpečne ho uložte, idempotentné opakovanie vracia pôvodný výsledok. GET tajomstvo nezobrazuje.

Entitový odber spravujú POST/DELETE /webhooky/{id}/odber; vyžaduje kľúč autora s právom nastavení, živými doménovými právami a rozsahmi udalostí. Zoznam bežných udalostí endpointu je oddelený od entitového odberu. Celý zoznam je aj v sekcii webhooks OpenAPI.

Entitová udalosťRozsah
entity.bank_account.createfinancie.citanie
entity.bank_account.updatefinancie.citanie
entity.bank_account.archivefinancie.citanie
entity.business_case.createobchod.citanie
entity.business_case.updateobchod.citanie
entity.business_case.cancelobchod.citanie
entity.business_case_status.createobchod.citanie
entity.business_case_status.updateobchod.citanie
entity.business_case_status.deleteobchod.citanie
entity.client.createdoklady.citanie
entity.client.updatedoklady.citanie
entity.client.archivedoklady.citanie
entity.contact_activity_log.createobchod.citanie
entity.contact_activity_log.updateobchod.citanie
entity.contact_activity_log.deleteobchod.citanie
entity.credit_note.createdoklady.citanie
entity.credit_note.updatedoklady.citanie
entity.credit_note.archivedoklady.citanie
entity.credit_note.deletedoklady.citanie
entity.credit_note.canceldoklady.citanie
entity.credit_note.paiddoklady.citanie
entity.document_payment.createfinancie.citanie
entity.document_payment.updatefinancie.citanie
entity.document_payment.archivefinancie.citanie
entity.invoice.createdoklady.citanie
entity.invoice.updatedoklady.citanie
entity.invoice.archivedoklady.citanie
entity.invoice.deletedoklady.citanie
entity.invoice.canceldoklady.citanie
entity.invoice.paiddoklady.citanie
entity.order.createobchod.citanie
entity.order.updateobchod.citanie
entity.order.cancelobchod.citanie
entity.eshop_product.updateeshop.katalog.citanie
entity.price_list_item.createkatalog.citanie
entity.price_list_item.updatekatalog.citanie
entity.price_list_item.archivekatalog.citanie
entity.price_list_item.stock-updatedsklad.stav
entity.proforma.createdoklady.citanie
entity.proforma.updatedoklady.citanie
entity.proforma.archivedoklady.citanie
entity.proforma.deletedoklady.citanie
entity.proforma.canceldoklady.citanie
entity.proforma.paiddoklady.citanie
entity.quotation.createdoklady.citanie
entity.quotation.updatedoklady.citanie
entity.quotation.archivedoklady.citanie
entity.received_invoice.createprijate.citanie
entity.received_invoice.updateprijate.citanie
entity.received_invoice.archiveprijate.citanie
entity.received_invoice.cancelprijate.citanie
entity.received_invoice.paidprijate.citanie
entity.received_receipt.createprijate.citanie
entity.received_receipt.updateprijate.citanie
entity.received_receipt.archiveprijate.citanie
entity.received_receipt.cancelprijate.citanie
entity.received_receipt.paidprijate.citanie
entity.supplier.createdoklady.citanie
entity.supplier.updatedoklady.citanie
entity.supplier.archivedoklady.citanie
entity.warehouse.createkatalog.citanie
entity.warehouse.updatekatalog.citanie
entity.warehouse.archivekatalog.citanie
entity.inbound_receipt.createsklad.pohyby.citanie
entity.inbound_receipt.updatesklad.pohyby.citanie
entity.inbound_receipt.cancelsklad.pohyby.citanie
entity.outbound_receipt.createsklad.pohyby.citanie
entity.outbound_receipt.updatesklad.pohyby.citanie
entity.outbound_receipt.cancelsklad.pohyby.citanie

Udalosti entít, ich odbery a archív majú vlastný kontrakt: Katalóg udalostí entít · Archív udalostí a checkpoint. Dostupnosť závisí od zapnutého modulu, balíka a oprávnení; službové udalosti vyžadujú ovládanie služieb.

Sandbox s testovacím kľúčom

Po sprístupnení modulu správcom a splnení balíka otvorte Nastavenia → Testovacia firma a sandbox. Vydajte blx_test_… kľúč a bezpečne ho uložte; zobrazí sa iba pri vydaní. Aktuálny stav modulu: zapnutý.

Otvoriť sandbox nastavenia

Čo môžete skúsiť

POST /sandbox/simulacie s typom email, peppol alebo platba. Vytvorí izolovanú simulovanú udalosť, vráti environment: sandbox a simulovane: true. Vyžaduje Idempotency-Key.

Hranice testovania

Sandbox neposiela emaily, nevstupuje do Peppolu, nevykonáva platby ani ostré zápisy dokladov. Testovací kľúč platí iba na sandbox trasách; ostré API ho odmietne. Vystavenie faktúry z ukážky je ostrá operácia.

POST /sandbox/reset vyčistí len sandbox udalosti firmy. Opakovaný reset s rovnakým kľúčom zachová udalosti vzniknuté po prvom resete. Pre nové vyčistenie vytvorte nový kľúč.

Limity a verzionovanie

Limit ostrého API sa počíta za minútu na kľúč podľa balíka firmy. Aktuálne hodnoty z konfigurácie:

BalíkVolaní / minútu / kľúčAPI kľúčov / firma
Free201
Štart603
Pro12010

Hlavičky X-RateLimit-Limit, X-RateLimit-Remaining a X-RateLimit-Reset opisujú skutočné okno; pri 429 počkajte podľa Retry-After. Ďalšie kvóty modulov sa uplatňujú súčasne s limitom kľúča.

ModulHodnotaJednotka / okno
Pokusy pred overením kľúča / IP30060 sekúnd
Dávky / jeden príjem100 riadkov / 2097152 bajtovpožiadavka
Samofakturácia60minúta (dodatočný limit trasy)
Samofakturácia / položky200doklad
Nástroje dokumentov / anonymne20minúta
Nástroje dokumentov / firma60minúta
Nástroje dokumentov / firma1000deň UTC
Nástroje dokumentov / vstup12582912bajtov na požiadavku
Kurzor / snapshot900sekúnd platnosti

Politika API v1

Kompatibilné rozšírenia môžu pridávať voliteľné polia a operácie. Ignorujte neznáme polia a pri neznámej udalosti ju bezpečne odložte. Zmena významu, odstránenie poľa alebo nové povinné pole patrí do novej hlavnej verzie. Bezpečnostné opravy a opravy nesúladu s publikovaným kontraktom môžu sprísniť odmietanie neplatných vstupov.

Zastarávanie oznámime v tomto changelogu s dotknutými operáciami, náhradou a termínom ukončenia. Pred migráciou overte nový kontrakt. Hlavička X-Billex-API-Version uvádza aktívnu verziu. Zastaranie označí Deprecation; Sunset pridáme len po schválení konkrétneho termínu. Dátum ukončenia podpory API v1 ani odstránenia kompatibilných aliasov zatiaľ nebol vyhlásený; politika neurčuje sľúbenú pevnú dobu podpory.

Zmeny API

Verzovaný changelog z repozitára; správca ho aktualizuje spolu s API kontraktom. JSON feed zmien.

Opravy auditu a rozšírenie API v1

Dotknuté operácie: GET /faktury/openapi, GET /davky/openapi, GET /obchod/openapi, GET /doklady?po=…, POST /ponuky, PATCH /ponuky/{id}, GET /ponuky/{id}/pdf, GET /ponuky/{id}/online, /webhooky/*, všetky verejné operácie – chyby a spoločný kontrakt

  • Zjednotený kód CHYBA_ROZSAH s kompatibilnou legacy hlavičkou a deprecation poznámkou; všetky rozsahy v jednom katalógu.
  • Opravené JSON objekty, počty total_count, schémy odpovedí a stavy 404/422/429/503 s hlavičkami. Modulové OpenAPI aliasy presmerujú na spoločný dokument.
  • Vytvorenie a úprava cenových ponúk, PDF a online odkaz; správa webhookov a entitových odberov cez API.
  • Podpis webhooku V2 s časom a stabilným ID doručenia; pôvodný podpis zostáva kompatibilný.
  • Príklady JSON, strojové webhooky, katalóg chýb, limity, generovanie klientov a menšia referencia s načítaním detailov pri otvorení.

Portál pre vývojárov

Dotknuté operácie: portál a dokumentácia

  • Verejný rozcestník, príklady v štyroch jazykoch a kolekcia Postman/Insomnia z OpenAPI 3.1.
  • Vyhľadávanie schém a trvalé odkazy v referencii. Bez zmeny správania API v1.

E-shopový kontrakt B10

Dotknuté operácie: portál a dokumentácia

  • Rotácia a odvolanie kľúčov, katalóg vrátane obrázkov, udalosti entít a feed s checkpointom sú zahrnuté vo verejnom kontrakte.

Spoločný kontrakt API v1

Dotknuté operácie: portál a dokumentácia

  • Chyby error.code/message/fields, kurzorové stránkovanie meta.pagination, povinný Idempotency-Key pri zápisoch s API kľúčom a hlavičky rate limitov.
  • Sandbox kľúče zostávajú oddelené od ostrého API.

Typické integrácie

Začnite konkrétnym procesom a povoľte iba rozsahy, ktoré potrebuje.

E-shop

WooCommerce, Shoptet a Upgates konektory spravujete v Billexe v časti Integrácie → E-shop. Pre vlastné riešenie prepojte objednávku, katalóg a úhradu.

Vystaviť dokladE-shopový katalóg

ERP a účtovníctvo

Synchronizujte doklady postupne s kurzorom alebo pripravte súborový export podľa kontraktu účtovného programu.

Doklady s filtromÚčtovný export

Banka

Bankové prepojenie Tatra banka Premium API spravujte v Billexe. API integrácia môže čítať účty, kontrolovať párovanie a zapisovať evidovanú úhradu.

Bankové účtyZapísať úhradu

CRM a e-faktúra

Zdieľajte adresár odberateľov a zmeny dokladov. E-faktúru odovzdajte digitálnemu poštárovi cez sieťové API s jeho vlastným tokenom a identitou Peppol účastníka.

Adresár odberateľovPeppol odoslanie

Podpora integrácie

Napíšte metódu, cestu, HTTP stav a kód chyby. Priložte anonymizovaný príklad a čas požiadavky. Kľúče, tajomstvá webhookov a osobné údaje neposielajte.

info@billex.sk