4.2 KiB
4.2 KiB
🔍 NAV API Tax Number Lookup - Hibaelemzés és Javítási Terv
Dátum: 2026-06-07 Gitea Issue-ek: #224 (NAV API aláírás), #226 (Frontend CSS import) Elemző: Rendszer-Architect
1. Összefoglaló
Két független hibát azonosítottam:
- Frontend: A Vite fejlesztői szerver nem tudja feloldani a
flag-icons/css/flag-icons.cssimportot →npm installhiányzik - Backend (NAV API): A NAV Online Számla API v3
queryTaxpayerhívásaINVALID_REQUEST_SIGNATUREhibát ad → valószínűleg érvénytelenNAV_API_SIGN_KEY
2. Frontend Hiba: flag-icons CSS import
2.1. Helyszín
frontend/src/main.ts:13-import 'flag-icons/css/flag-icons.css'frontend/package.json:14-"flag-icons": "^7.5.0"függőség
2.2. Ok
A flag-icons npm csomag deklarálva van a package.json-ban, de nincs telepítve a node_modules-ban. Ez tipikusan akkor fordul elő, ha:
- A függőséget kézzel adták hozzá a
package.json-hoz, denpm installnem futott le - A
node_modulesmappa régi, ésnpm installvagynpm updateszükséges
2.3. Javítás
cd /opt/docker/dev/service_finder/frontend && npm install
3. Backend Hiba: NAV API INVALID_REQUEST_SIGNATURE
3.1. Helyszín
backend/app/services/nav_service.py- Teljes NAV API integrációbackend/app/api/v1/endpoints/organizations.py:124-/lookup-tax/{tax_number}végpontbackend/app/core/config.py:130- NAV konfigurációs mezők.env:90- NAV API hitelesítő adatok
3.2. A Hiba Lánca
- Felhasználó meghívja:
GET /api/v1/organizations/lookup-tax/24742063 NavService.query_taxpayer()összeállítja a SOAP/XML kérést- Kiszámolja az aláírást:
SHA3-512(requestId + timestamp + NAV_API_SIGN_KEY) - NAV API válasz:
HTTP 400→INVALID_REQUEST_SIGNATURE("Érvénytelen kérés aláírás") query_taxpayer()visszatérNone-nal- A végpont
HTTP 404-et ad: "Cég nem található a NAV adatbázisában"
3.3. Tesztelt Aláírási Módszerek
| Módszer | Eredmény |
|---|---|
| SHA3-512(requestId + timestamp + signKey) | ❌ INVALID_REQUEST_SIGNATURE |
| SHA3-512(requestId + timestamp + passwordHash) | ❌ INVALID_REQUEST_SIGNATURE |
| SHA3-512(requestId + timestamp + exchangeKey) | ❌ INVALID_REQUEST_SIGNATURE |
| HMAC-SHA3-512(signKey, requestId + timestamp) | ❌ INVALID_REQUEST_SIGNATURE |
| SHA3-512(requestId + timestamp) (no key) | ❌ INVALID_REQUEST_SIGNATURE |
3.4. Következtetés
Minden aláírási módszer ugyanazt a hibát adja vissza, ami arra utal, hogy nem a kódban lévő aláírás-számítás a hibás, hanem maguk a hitelesítő adatok érvénytelenek.
Gyanús elemek:
NAV_API_SIGN_KEY=02-b52b-3d9e7d638c695EPWNIUAEGHS- a formátuma nem szabványos (nem UUID, nem base64)NAV_API_EXCHANGE_KEY=a5cf5EPWNIU9DP8O- szintén rövid, nem szabványos
3.5. Javítási Terv
1. lépés: Új NAV API kulcsok igénylése
Látogass el a NAV Online Számla teszt portáljára:
- https://onlineszamla.nav.gov.hu/
- Regisztráció után generálj új
signKeyésexchangeKeypárost
2. lépés: Frissítsd a .env fájlt
NAV_API_USER=<új felhasználónév>
NAV_API_PASSWORD=<új jelszó>
NAV_API_SIGN_KEY=<új signKey>
NAV_API_EXCHANGE_KEY=<új exchangeKey>
NAV_API_CALLER_TAX_NUMBER="48952046133"
3. lépés: Teszteld a kapcsolatot
docker exec sf_api python3 -c "
from app.services.nav_service import NavService
import asyncio
result = asyncio.run(NavService.query_taxpayer('24742063'))
print(result)
"
4. Kapcsolódó Gitea Issue-ek
| ID | Cím | Státusz |
|---|---|---|
| #224 | 🔴 Hiba: NAV API aláírás (INVALID_REQUEST_SIGNATURE) | Nyitott |
| #225 | 🔴 Hiba: Frontend - flag-icons CSS import | Nyitott (duplikátum?) |
| #226 | Frontend: flag-icons CSS import hiba | Nyitott |