zbyle sluzby podle CC
This commit is contained in:
@@ -9,7 +9,7 @@ controllery a samostatná dokumentace ve Swaggeru.
|
||||
|
||||
## Konfigurace (proměnné prostředí)
|
||||
|
||||
Aplikace, ClientId, ClientSecret a ApplicationId získáte ve vývojářském portálu iDoklad. Tyto
|
||||
Aplikaci, ClientId, ClientSecret a ApplicationId získáte ve vývojářském portálu iDoklad. Tyto
|
||||
hodnoty lze nastavit jako výchozí přes proměnné prostředí, nebo je předávat per-request v hlavičkách
|
||||
(viz níže).
|
||||
|
||||
@@ -38,7 +38,7 @@ ROOT_PATH= # base path při běhu za reverzní proxy
|
||||
|
||||
Citlivé proměnné (zejména **secret**) se **nepředávají v query stringu ani v těle** požadavku –
|
||||
**vyžadují se v HTTP hlavičkách**. To je zohledněno i ve Swaggeru: u každého agendového endpointu
|
||||
jsou hlavičky vtypu `X-...` zdokumentované jako parametry.
|
||||
jsou tyto hlavičky zdokumentované jako parametry.
|
||||
|
||||
| Hlavička | Význam | Fallback (env) |
|
||||
| --- | --- | --- |
|
||||
@@ -60,64 +60,56 @@ X-ClientSecret: <client secret>
|
||||
X-ApplicationId: <application id>
|
||||
```
|
||||
|
||||
## API
|
||||
## Swagger / OpenAPI
|
||||
|
||||
```http
|
||||
GET /health
|
||||
GET /version
|
||||
GET /status
|
||||
Interaktivní dokumentace běží na **`/docs`**, surový OpenAPI dokument na `/swagger/v1/swagger.json`.
|
||||
Každý agendový endpoint má ve Swaggeru zdokumentované credential hlavičky i popisky operací.
|
||||
|
||||
# Account
|
||||
GET /account/agenda
|
||||
GET /account/user
|
||||
## Pokryté agendy
|
||||
|
||||
# Contacts
|
||||
GET /contacts?page=1&pageSize=20
|
||||
GET /contacts/default
|
||||
GET /contacts/{id}
|
||||
POST /contacts
|
||||
PATCH /contacts
|
||||
DELETE /contacts/{id}
|
||||
Propojeno je **41 ze 45 clientů** SDK 5.3.0. Standardní agendy podporují stránkovaný `list`,
|
||||
`detail`, `default` (kde to SDK umožňuje) a `create`/`update`/`delete`; číselníky jsou read-only.
|
||||
|
||||
# Issued invoices (vydané faktury)
|
||||
GET /issued-invoices?page=1&pageSize=20
|
||||
GET /issued-invoices/default
|
||||
GET /issued-invoices/{id}
|
||||
POST /issued-invoices
|
||||
PATCH /issued-invoices
|
||||
POST /issued-invoices/{id}/copy
|
||||
DELETE /issued-invoices/{id}
|
||||
Meta (bez credentials): `GET /health`, `GET /version`, `GET /status`.
|
||||
|
||||
# Received invoices (přijaté faktury)
|
||||
GET /received-invoices?page=1&pageSize=20
|
||||
GET /received-invoices/default
|
||||
GET /received-invoices/{id}
|
||||
POST /received-invoices
|
||||
PATCH /received-invoices
|
||||
DELETE /received-invoices/{id}
|
||||
|
||||
# Registry
|
||||
GET /registers/bank-accounts?page=1&pageSize=20
|
||||
GET /registers/bank-accounts/{id}
|
||||
POST /registers/bank-accounts
|
||||
PATCH /registers/bank-accounts
|
||||
DELETE /registers/bank-accounts/{id}
|
||||
GET /registers/vat-rates?page=1&pageSize=20
|
||||
GET /registers/vat-rates/{id}
|
||||
GET /registers/numeric-sequences?page=1&pageSize=20
|
||||
```
|
||||
| Tag | Agendy (cesty) |
|
||||
| --- | --- |
|
||||
| Account | `/account/agenda`, `/account/user` |
|
||||
| Contacts | `/contacts` |
|
||||
| IssuedInvoices | `/issued-invoices` (+ `/default`, `/{id}/copy`) |
|
||||
| ReceivedInvoices | `/received-invoices` (+ `/default`) |
|
||||
| SalesDocuments | `/proforma-invoices`, `/credit-notes`, `/sales-receipts`, `/sales-orders`, `/recurring-invoices`, `/issued-tax-documents`, `/issued-document-templates` |
|
||||
| PurchaseAndCash | `/received-receipts`, `/cash-vouchers`, `/cash-registers` |
|
||||
| Payments | `/bank-statements`, `/issued-payments`, `/received-payments` (+ `/fully-unpay/{invoiceId}`) |
|
||||
| Catalog | `/price-list-items`, `/stock-movements`, `/tags` |
|
||||
| Registers | `/registers/bank-accounts`, `/registers/vat-rates`, `/registers/numeric-sequences` |
|
||||
| CodeLists | `/code-lists/banks`, `/countries`, `/currencies`, `/constant-symbols`, `/exchange-rates`, `/payment-options`, `/vat-codes`, `/vat-reverse-charge-codes`, `/sales-offices`, `/sales-pos-equipment` |
|
||||
| Integration | `/webhooks`, `/notifications`, `/logs`, `/registered-sales`, `/unpaired-documents`, `/attachments`, `/system/code-books` |
|
||||
| Statistics | `/statistics/*` (invoicing-for-period/year, quarter-summary, top-partners, agenda-summary, contact/{id}, debt-intervals, top-debtors, vat-payer-progress) |
|
||||
|
||||
Request/response těla odpovídají modelům iDoklad SDK (`*PostModel`, `*PatchModel`, `*GetModel`).
|
||||
Serializace používá Newtonsoft.Json, aby se chování shodovalo s atributy modelů v SDK. Chyby z
|
||||
iDoklad API se propagují jako `application/problem+json` s odpovídajícím HTTP statusem.
|
||||
|
||||
### Zatím nezapojené (na vyžádání)
|
||||
|
||||
Tyto klienty mají nestandardní/binární/facade charakter a nejsou zatím napojené:
|
||||
|
||||
- **MailClient** – odesílání dokladů e-mailem (facade nad typy dokladů).
|
||||
- **ReportClient** – generování PDF reportů (binární výstup).
|
||||
- **DocumentPaymentClient** – facade nad platbami (překrývá se s `issued-payments` / `received-payments`).
|
||||
- **BatchClient** – dávkové operace.
|
||||
|
||||
Mimo to nejsou napojené pokročilé operace `Recount`, `*Batch` a `RecurringInvoice/NextIssueDates`.
|
||||
`InboxClient` a `ReceivedDocumentsClient` v SDK 5.3.0 ještě nejsou (přibyly až po vydání).
|
||||
|
||||
## Lokální spuštění
|
||||
|
||||
```bash
|
||||
dotnet run
|
||||
```
|
||||
|
||||
Swagger UI je na `/swagger`, OpenAPI dokument na `/swagger/v1/swagger.json`.
|
||||
Swagger UI otevřete na `http://localhost:<port>/docs`.
|
||||
|
||||
## Architektura
|
||||
|
||||
|
||||
Reference in New Issue
Block a user