You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+4-1Lines changed: 4 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -42,7 +42,8 @@ Binaries for Windows and Linux are available in the <a href="https://github.com/
42
42
- 🇪🇺 Validation using VIES (EU VAT numbers)
43
43
- 🇬🇧 Validation using HMRC (check UK VAT numbers)
44
44
- 🇨🇭 Validation using Swiss UID (check Swiss VAT numbers)
45
-
- 🛠️ CLI batch processing (see releases)
45
+
- 🛠️ CLI processing (see releases)
46
+
- 🌐 FastAPI-based REST API (see documentation) (new in v2026-05-12 (not released yet))
46
47
- 🔒 No manual Python dependency installation required for release binaries
47
48
48
49
Since 2026 the old BZSt interface has been shutdown. The new BZSt API is now supported.
@@ -60,6 +61,8 @@ If you like this software, please give it a ⭐ or send a 💰 donation in the a
60
61
For full documentation, usage instructions, configuration, screenshots, and contributing guidelines,
61
62
please visit the [project documentation](https://dseichter.github.io/VATValidation/).
62
63
64
+
Runtime settings are persisted in `src/config.json` (or the generated runtime config file), including proxy and logging values (`proxy_mode`, `proxy_url`, `proxy_username`, `proxy_password`, `logfilename`, `loglevel`).
./VATValidation-api-linux-v2026-05-12 --port 8080 --proxy-mode system
26
+
```
27
+
28
+
Standard ist `127.0.0.1` als Host und `8080` als Port.
29
+
30
+
Wenn die API absichtlich auf allen Interfaces erreichbar sein soll, geben Sie `--host 0.0.0.0` explizit an.
31
+
32
+
Proxy-Einstellungen werden einmal beim Start gesetzt und in die Konfigurationsdatei geschrieben, nicht im Request-Payload übergeben.
33
+
34
+
Das Logging wird ebenfalls über diese Konfigurationsdatei gesteuert. Relevante Schlüssel sind `logfilename` und `loglevel` (Standard in diesem Repository: `/tmp/vatvalidation.log` mit `ERROR`).
35
+
36
+
## Endpunkte
37
+
38
+
-`GET /health`
39
+
-`POST /api/v1/validate/single`
40
+
-`POST /api/v1/validate/batch`
41
+
-`GET /api/v1/jobs/{job_id}`
42
+
-`GET /api/v1/jobs`
43
+
44
+
### Request für Einzelvalidierung
45
+
46
+
```json
47
+
{
48
+
"ownvat": "DE123456789",
49
+
"vat": "FR12345678901",
50
+
"company": "Sample GmbH",
51
+
"street": "Musterstrasse 1",
52
+
"zip": "10115",
53
+
"town": "Berlin",
54
+
"interface": "vies",
55
+
"lang": "en"
56
+
}
57
+
```
58
+
59
+
### Request für Batch-Validierung
60
+
61
+
```json
62
+
{
63
+
"input": "input.csv",
64
+
"output": "output.csv",
65
+
"delimiter": ";",
66
+
"interface": "vies",
67
+
"lang": "en",
68
+
"ignore_validation_errors": false
69
+
}
70
+
```
71
+
72
+
Die Batch-Validierung läuft asynchron und liefert eine `job_id` zurück.
73
+
74
+
## Asynchroner Batch-Ablauf (job_id Polling)
75
+
76
+
1. Batch-Job starten:
77
+
78
+
```shell
79
+
curl -X POST http://localhost:8080/api/v1/validate/batch \
0 commit comments