Přehled API
Čtecí rozhraní nad projekcí. Zapisovatelem je rejstřík; jediná zapisovací cesta do dat o pohledávkách je rozhodnutí ve frontě kontroly.
Dnes existují jen endpointy označené „existuje“ — /health, /health/ready, /health/dependencies, /version, čtecí endpointy pod /api/explore, fronta kontroly pod /api/review, /api/news a komentáře pod /api/feedback — a k nim statický web a stránky aplikace pod /app (jen pro přihlášené). Zbytek, včetně všeho pod /v1, je navržený kontrakt, ne implementace — viz roadmapa.
Principy
- Typované a verzované. Prefix
/v1, Pydantic modely, OpenAPI schéma. - Chyby jako
application/problem+jsonse stabilnímtype. Text chyby je vždy bezpečný — nikdy nenese payload ani osobní údaj. - Každá hodnota nese provenienci. Částka v odpovědi přichází s ID dokumentu, stránkou a confidence. Odpověď bez provenience není zkratka, je to jiný produkt.
- Autentizace API klíčem, per-consumer rozsah a limity. Bajty dokumentů a jména fyzických osob vyžadují ověřeného volajícího.
%% title: Jak API čte a kudy se zapisuje %% caption: Dnešní cesty pod /api, jen pro přihlášené. Čtení jde přes /api/explore z indexu pohledávek, který se staví z projekce, a každá pohledávka v odpovědi nese dokument, stránku a confidence. Do dat o pohledávkách se zapisuje jen rozhodnutí kontrolora přes /api/review: uloží se do append-only logu rozhodnutí a projekce ho přehraje při další přestavbě. Verzované endpointy /v1 zatím neexistují. sequenceDiagram participant K as Klient participant A as API /api participant I as Index pohledávek participant P as Projekce participant Q as Fronta kontroly participant L as Log rozhodnutí K->>A: GET /api/explore/search A->>I: dotaz I-->>A: pohledávky + dokument, stránka, confidence A-->>K: odpověď s proveniencí K->>A: POST /api/review/… rozhodnutí A->>Q: rozhodnutí Q->>L: typovaná událost (kdo, kdy, co) L-->>P: přehrání při přestavbě projekce P-->>I: přestavba indexu
%% title: Datový model kolem dílčí pohledávky
%% caption: Přihláška je kontejner, jednotkou je dílčí pohledávka. Její stav je odvozený z uspořádaného seznamu událostí a každá událost odkazuje na dokument a stránku.
erDiagram
RIZENI ||--o{ PRIHLASKA : "oddíl P"
VERITEL ||--o{ PRIHLASKA : "podává"
PRIHLASKA ||--|{ POHLEDAVKA : "obsahuje"
POHLEDAVKA ||--o{ UDALOST : "historie stavů"
DOKUMENT ||--o{ UDALOST : "provenience"
POHLEDAVKA ||--o{ POSTOUPENI : "§18"
VERITEL ||--o{ POSTOUPENI : "postupitel / nabyvatel"
RIZENI {
string spisova_znacka
string zpusob_reseni
}
PRIHLASKA {
string pozice "P-x"
date datum
}
POHLEDAVKA {
int poradi
decimal nominal
string klasifikace
string stav "odvozený"
}
UDALOST {
string typ
date datum
int stranka
float confidence
}
VERITEL {
string ico
string segment
}
Endpointy
| Metoda | Cesta | Vrací |
|---|---|---|
| GET | /health | liveness — existuje |
| GET | /version | verze buildu a prostředí — existuje |
| GET | /health/ready | readiness — aplikace nastartovala a může přijímat provoz; oddělené od liveness — existuje |
| GET | /health/dependencies | databáze, Redis, zpoždění feedu, stav jističe; diagnostika, ne sonda — existuje |
| GET | /api/explore/search | vyhledávání, fasety a součty výběru pohledávek pro průzkum — existuje, jen pro přihlášené (role reader) |
| GET | /api/explore/export.csv | aktuální výběr jako CSV pro Excel — existuje, jen pro přihlášené |
| GET | /api/explore/dashboard | agregace výběru pro přehled — existuje, jen pro přihlášené |
| GET | /api/explore/pivot | kontingenční tabulka výběru přes dvě dimenze pro teplotní mapu a tok na přehledu — existuje, jen pro přihlášené |
| GET | /api/explore/claim/{id} | detail jedné pohledávky z indexu s citací a stránkou — existuje, jen pro přihlášené |
| GET | /api/review/queue | fronta kontroly: pohledávky a jejich tvrzení čekající na kontrolu — existuje, jen pro kontrolory |
| POST | /api/review/claims/{…}/assertions/{key}/review | rozhodnutí kontrolora k jednomu tvrzení (potvrdit, opravit, nedostatek podkladů, nejednoznačné, nečitelné, zamítnout) — existuje, jediná zapisovací cesta do dat o pohledávkách |
| POST | /api/review/claims/{…}/approve, …/return | schválení druhou osobou, nebo vrácení ke kontrole s důvodem — existuje, jen pro schvalovatele (vrácení vlastního rozhodnutí i pro kontrolora) |
| GET | /api/news | nová řízení a pohledávky v období pro aktuality — existuje, jen pro přihlášené |
| GET, POST | /api/feedback/comments | komentáře k aplikaci; dat o pohledávkách se nedotknou — existuje, jen pro přihlášené |
| GET | /v1/proceedings | řízení podle soudu, IČO dlužníka, způsobu řešení, stavu, dat |
| GET | /v1/proceedings/{sp_zn}/claims | dílčí pohledávky v řízení |
| GET | /v1/claims/{id} | klasifikace, stav a úplná historie událostí |
| GET | /v1/creditors/{id} | identita, historie, segmenty, agregáty |
| GET | /v1/transfers | postoupení podle §18 — sekundární trh |
| GET | /v1/review | fronta lidské kontroly |
| POST | /v1/review/{id}/decision | rozhodnutí analytika — jediná zapisovací cesta |
| GET | /v1/exports/{dataset} | hromadný export pro navazující analytiku |
Alerting
Definované události se posílají odběratelům místo dotazování: nová přihláška sledovaného věřitele, popření sledované pohledávky, vydané rozvrhové usnesení, postoupení podle §18 a nová účetní závěrka.