Anaf v1 / Declarații D
Randează PDF
Declaraţia în PDF, aşa cum se citeşte de un om — pentru dosar, pentru client sau pentru semnătură. Răspunsul e documentul, nu JSON.
POST
https://oneapi.ro/api/anaf/v1/declaratii/{form}/render
Parametri de cale
NumeTipDescriereExemplu
formobligatoriu
string
Codul formularului (
D100, D112, D300, D394…). Lista completă e la /anaf/v1/declaratii/forms.
Corpul cererii
Corpul cererii e documentul întreg, trimis brut (Content-Type: application/xml) — nu un obiect cu câmpuri.
D394
D100
D390
D311
Parametri de interogare
Ruta nu acceptă parametri de interogare.
Cum se comportă
- Documentul se poate trimite şi ca fişier:
multipart/form-datacu câmpulfisier(curl -F fisier=@document.xml), în locul corpului brut. Conţinutul fişierului devine corpul cererii, deci rezultatul e identic; opţiunile rămân în query string, iar alt câmp de formular lângăfisierdă422 camp_necunoscut. - Primește XML-ul unei declarații „D" și întoarce un PDF lizibil. Local (dompdf), in-memory.
- Zero retenție: XML-ul primit nu se scrie și nu se loghează.
La ce folosește
- Un exemplar tipăribil al declarației, pt dosar.
Structura răspunsului
CâmpTipDescriere
Exemple de răspuns
body: @d394.xml
POSThttps://oneapi.ro/api/anaf/v1/declaratii/D394/render
Răspunsul e un document binar, nu JSON: application/pdf, 26,6 KB în acest exemplu.
body: @d100.xml
POSThttps://oneapi.ro/api/anaf/v1/declaratii/D100/render
Răspunsul e un document binar, nu JSON: application/pdf, 22,8 KB în acest exemplu.
body: @d390.xml
POSThttps://oneapi.ro/api/anaf/v1/declaratii/D390/render
Răspunsul e un document binar, nu JSON: application/pdf, 23,8 KB în acest exemplu.
body: @d311.xml
POSThttps://oneapi.ro/api/anaf/v1/declaratii/D311/render
Răspunsul e un document binar, nu JSON: application/pdf, 22,8 KB în acest exemplu.
Coduri de eroare
| Cod | Slug | Când apare |
|---|---|---|
| 401 | neautentificat | Token lipsă, invalid, expirat sau revocat. |
| 403 | feature_indisponibil | Planul curent nu include funcţia de care ţine ruta. |
| 404 | negasit | Formular nesuportat. |
| 422 | xml_invalid | XML invalid — nu poate fi randat. |
| 429 | cota_depasita | Cota lunară a planului a fost depăşită (vezi Retry-After). |
Erorile modulului Anaf au acelaşi plic ca restul platformei, cu două câmpuri în plus: {eroare: {cod, mesaj, camp, request_id}}. eroare.cod e stabil şi e cel după care ramifici în cod; la validare (422) codul e specific cazului: xml_invalid, xml_nu_e_factura, unitate_necunoscuta, luna_invalida ş.a. camp arată câmpul vinovat, când se poate identifica.
{
"eroare": {
"cod": "xml_invalid",
"mesaj": "XML invalid — nu poate fi randat.",
"camp": "form",
"request_id": "0199c1f0-6e1a-7c3d-9b2f-4a8e5d1c7b04"
}
}