Dokumentacja
Każdy adres wraz z zakresem.
Ta tabela powstaje z tego samego katalogu, względem którego sprawdza interfejs. To nie opis zachowania, lecz ten sam fakt odczytany dwa razy.
| Ścieżka | Zakres | Uprawnienie | Co wraca |
|---|---|---|---|
| GET /api/extern/v1/me | Sam klucz: firma, środowisko, zakresy, ostatnie użycie. Pierwsze wywołanie, jakie się pisze. |
||
| GET /api/extern/v1/customers | customers:read | VIEW_CUSTOMERS | Strona klientów i dostawców, od najnowszych. |
| GET /api/extern/v1/customers/{id} | customers:read | VIEW_CUSTOMERS | Pojedynczy klient wraz z danymi podstawowymi. |
| POST /api/extern/v1/customers | customers:write | EDIT_CUSTOMERS | Tworzy klienta. KRONENWERK pobiera numer z własnej sekwencji firmy. |
| GET /api/extern/v1/invoices | invoices:read | VIEW_INVOICES | Wystawione faktury, filtrowane wg stanu zapłaty i daty wystawienia. |
| GET /api/extern/v1/invoices/{number} | invoices:read | VIEW_INVOICES | Jedna wystawiona faktura w postaci utrwalonej w archiwum. |
| POST /api/extern/v1/invoices/drafts | invoices:write customers:read companies:read | EDIT_INVOICES VIEW_COMPANY_SETTINGS VIEW_CUSTOMERS | Rozpoczyna szkic faktury dla klienta. Nie oznacza to jej wystawienia. |
| GET /api/extern/v1/transactions | transactions:read | VIEW_TRANSACTIONS | Sprawy — zlecenia, projekty, partie produkcyjne — z etapem i terminem, najnowsze najpierw. Okres zawężają period, from i to; okno liczone jest według daty rozpoczęcia. |
| POST /api/extern/v1/transactions | transactions:write transactions:read | EDIT_TRANSACTIONS VIEW_TRANSACTIONS | Tworzy sprawę. Numer, etap i historia powstają jak na ekranie produktu. |
| PATCH /api/extern/v1/transactions/{id} | transactions:write transactions:read | EDIT_TRANSACTIONS VIEW_TRANSACTIONS | Zmienia istniejącą sprawę. Pominięte pole pozostaje bez zmian; "none" jako klient usuwa klienta. |
| GET /api/extern/v1/reports/outstanding | reports:read | VIEW_REPORTS | Otwarte należności i zobowiązania na dziś, rozdzielone kierunkami. |
| GET /api/extern/v1/webhooks | webhooks:write | MANAGE_WEBHOOKS | Punkty końcowe webhooków tej firmy. |
| GET /api/extern/v1/webhooks/events | webhooks:write | MANAGE_WEBHOOKS | Zdarzenia, które może subskrybować punkt końcowy. |
| POST /api/extern/v1/webhooks | webhooks:write | MANAGE_WEBHOOKS | Zarejestruj punkt końcowy; sekret podpisu pojawia się w odpowiedzi tylko raz. |
| DELETE /api/extern/v1/webhooks/{id} | webhooks:write | MANAGE_WEBHOOKS | Wyłącz punkt końcowy; dziennik dostaw pozostaje. |
Stronicowanie i filtrowanie.
Każda lista to strona. Bezsensowna wartość jest ograniczana, a nie odrzucana: liczba w adresie rzadko bywa złą wolą.
Jedno wywołanie, w całości.
Kwoty przychodzą jako liczba jednostek podrzędnych i kod waluty. Nigdy jako tekst sformatowany, który wniósłby separatory jednego języka do dokumentu dla maszyn.
GET https://kronenwerk.org/api/extern/v1/invoices?status=OPEN&size=1\n\n{"data":[{"number":"R-2026-0001","issuedOn":"2026-04-02","buyer":"Kellermann GmbH","currency":"EUR","gross":{"minor":105910,"currency":"EUR"},"outstanding":{"minor":105910,"currency":"EUR"},"paymentState":"OPEN","overdue":false}],"page":0,"size":1,"total":1,"more":false}
Wywołanie zapisu.
Trzy adresy coś tworzą i każdy wymaga nagłówka idempotentności. Nie ma adresu, który wystawia fakturę, księguje płatność lub anuluje dokument.
POST https://kronenwerk.org/api/extern/v1/customers\nAuthorization: Bearer greif_live_…\nIdempotency-Key: 6f1c2a8e-4b3d-4a21-9d77-0c5e1f9b2a44\n\n{"name":"Kellermann Elektrotechnik GmbH","email":"buchhaltung@kellermann.de","street":"Am Sandtorkai 41","postalCode":"20457","city":"Hamburg","country":"DE"}