To nie makieta marketingowa — to prawdziwa forma żądania, prawdziwa forma odpowiedzi i prawdziwy (ale wygenerowany poglądowo) podpisany zapis dowodowy. Nazwy pól poniżej są skopiowane bezpośrednio z działającego kodu, nie parafrazowane.
curl -X POST https://invoxapi.de/v1/validate \ -H "X-API-Key: in_twoj_klucz_tutaj" \ -F "file=@faktura.xml" \ -F "format=XRECHNUNG_3_UBL"Odpowiedź — faktura z dwoma prawdziwymi błędami
{
"verdict": "invalid",
"errors": [
{
"rule_id": "BR-01",
"severity": "error",
"human_message": "Brak identyfikatora specyfikacji (BT-24).",
"bt_number": "BT-24",
"auto_fix_possible": true
},
{
"rule_id": "BR-04",
"severity": "error",
"human_message": "Brak kodu typu faktury (BT-3).",
"bt_number": "BT-3",
"auto_fix_possible": true
}
],
"warnings": []
}
Nie tylko "Invalid invoice" i nic więcej. Każda nieprawidłowość wskazuje dokładny termin biznesowy (BT-x, z samego standardu EN 16931), czy możliwa jest automatyczna korekta, oraz wyjaśnienie w prostym języku — dokładnie taką informację, jakiej potrzebowałby recenzent, aby poprawić fakturę.
{
"request_id": "8f2c1a9e-...-uuid",
"doc_hash": "0d19ba76...e9a10179",
"format": "XRECHNUNG_3_UBL",
"violation_count": 0,
"chain_entry_hash": "79cb4fc0...4336961f"
}
Dwie rzeczy warte uwagi:
| doc_hash | Hash SHA-256 faktury — nigdy sama treść faktury. Nic z tego, co wysyłasz, nie jest przechowywane. |
| chain_entry_hash | Ten wynik jest dołączany do niezmiennego, odpornego na manipulacje łańcucha hashy i podpisywany (Ed25519) — weryfikowalny offline, bez konieczności zaufania serwerom INVOX, przez każdego, kto posiada opublikowany klucz publiczny. |
Każdy prawdziwy wynik, który wygenerujesz, otrzymuje własny request_id i własny wpis w łańcuchu — to jest ilustracja schematu, a nie zapis do wyszukania. Aby zweryfikować prawdziwy podpisany dowód, użyj publicznego weryfikatora z request_id z własnego konta.