oneapi
Autentificare
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

d394.xml application/xml · 1,3 KB — se trimite ca atare, în corpul cererii.

D100

d100.xml application/xml · 0,4 KB — se trimite ca atare, în corpul cererii.

D390

d390.xml application/xml · 0,5 KB — se trimite ca atare, în corpul cererii.

D311

d311.xml application/xml · 0,4 KB — se trimite ca atare, în corpul cererii.

Parametri de interogare

Ruta nu acceptă parametri de interogare.

Cum se comportă

  • Documentul se poate trimite şi ca fişier: multipart/form-data cu câmpul fisier (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ă fisier dă 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.

Descarcă documentul întors de acest exemplu

Coduri de eroare

CodSlugCând apare
401neautentificatToken lipsă, invalid, expirat sau revocat.
403feature_indisponibilPlanul curent nu include funcţia de care ţine ruta.
404negasitFormular nesuportat.
422xml_invalidXML invalid — nu poate fi randat.
429cota_depasitaCota 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"
    }
}