AyCode.Core/AyCode.Services/Nav/docs/README.md

35 lines
2.5 KiB
Markdown

# Nav/docs — NAV referencia-anyagok és kivonatok
A NAV adatszolgáltatás (jelenleg EKÁER) hivatalos forrásai + **LLM-barát kivonatok**. A kivonatok célja: ne kelljen a 2.2 MB-os PDF-et olvasni a gyakori feladatokhoz (token-takarékos, kereshető, a `docs-discovery` skill megtalálja).
## Hiteles források
| Fájl | Mit ad |
|---|---|
| [`eKAERManagementService_2.2.pdf`](eKAERManagementService_2.2.pdf) | A hivatalos EKÁER 2.2 interfész-leírás (NAV). **Ütközésnél ez + az XSD a mérvadó.** |
| [`ekaermanagement.xsd`](ekaermanagement.xsd) | A management-séma — a generált modellek (`Nav/Ekaer/Models/`) forrása. XSD-validációhoz is ez. |
| [`common.xsd`](common.xsd) | Közös EKÁER-séma: `BasicHeaderType`, `UserHeaderType`, `BaseResultType`, és a teljes `ReasonCodeType` (~150 hibakód). |
## Kivonatok (kezdd ezekkel)
| Fájl | Téma | Mikor |
|---|---|---|
| [`EKAER_INTERFACE.md`](EKAER_INTERFACE.md) | Transport, endpoint, **auth-algoritmus** (teszt-vektorral), üzenet-váz | A kommunikáció bekötésekor (megvan a kódban) |
| [`EKAER_TRADECARD.md`](EKAER_TRADECARD.md) | A **payload**: tradeType, fejrész, címadat, vehicle, deliveryPlan, tétel, tradeReason | A `Shipping → TradeCard` mapping (3. réteg) írásakor |
| [`EKAER_OPERATIONS.md`](EKAER_OPERATIONS.md) | Műveletek (create/modify/delete/finalize/correction) + státusz-életciklus | A bejelentés-folyamat implementálásakor |
| [`EKAER_VALIDATION.md`](EKAER_VALIDATION.md) | Validációs szabályok (tradeType-függő) + hibakód-kategóriák | Hibakezelés / mező-kötelezőség eldöntésekor |
**Olvasási sorrend új belépőnek:** `EKAER_INTERFACE``EKAER_TRADECARD``EKAER_OPERATIONS``EKAER_VALIDATION`.
## A réteg-kód
A base réteg (interfészek, auth, send-flow) doksija: [`../README.md`](../README.md).
Az EKÁER-kód a `Nav/Ekaer/`-ben:
- generált modellek: `Nav/Ekaer/Models/` (+ `EkaerNavAdapters.cs` — az `INav*` interfészek a generált típusokon)
- `EkaerManageService` / `EkaerQueryService` — NAV HTTP (manage / query)
- `EkaerTradeCardValidator` — a [`EKAER_VALIDATION.md`](EKAER_VALIDATION.md) szabályainak ellenőrzése (séma + üzleti), hibalistával
- `EkaerSubmitService` / `EkaerSubmitResult` — beküldés-orchestráció (validate → send)
Ez mind **általános** NAV/EKÁER réteg. A FruitBank-specifikus leképezés (`Shipping → tradeCard`) NEM itt van, hanem a fogyasztó oldalon: `FruitBank.Common/Services/Ekaer/` (mapper) + `FruitBank.Common.Server/Services/Ekaer/` (fogyasztó).