Salt la conținutul principal
API-ul îți spune imediat, sincron, ce nu e în regulă: nu există validări care durează ore sau răspunsuri care sosesc mai târziu. Fiecare eroare de validare are un cod stabil pe care îl poți folosi în program și o propoziție pentru oameni.

Formatul

Erorile de validare și refuzurile cu motiv folosesc formatul RFC 9457 (Problem Details), cu Content-Type: application/problem+json.

Validare (422)

Fiecare element din errors[] are:
string
Câmpul cu problema, ca JSON Pointer: /title, /features/2 (al treilea element din features), /photos/0/key.
string
Codul erorii. E stabil: pe el ramifici în codul tău. Lista e mai jos.
string
Explicația pentru oameni, în limba cererii. Textul se poate schimba oricând; nu-l compara în program.
Un câmp poate avea mai multe erori, fiecare cu elementul ei în errors[].

Refuzuri cu motiv (409, 412)

Aici codul e direct în code, la primul nivel.

Celelalte refuzuri

Toate au aceeași formă, cu code la primul nivel:

Limba mesajelor

detail și title vin în română sau în engleză. Alegi limba cu parametrul locale din adresă (?locale=en). Fără el, se folosește limba preferată a contului, apoi antetul Accept-Language, apoi româna. Codurile nu se traduc niciodată.

Codurile de validare pe câmp

Când un câmp, luat singur, nu respectă regula lui, codul e numele regulii:

Codurile verificărilor între câmpuri

Unele reguli privesc mai multe câmpuri deodată. Codul lor e specific regulii, iar pointer arată câmpul de corectat.

Codurile de refuz

Statusurile HTTP

Când ceri ajutor pentru o eroare, trimite-ne valoarea antetului X-Request-Id din răspuns. Cu ea găsim cererea exactă. O vezi și tu în jurnalul API.