Erori
Un singur format, coduri stabile.
{
"error": {
"code": "contact_not_allowed",
"message": "Textul conține date de contact.",
"fields": [{ "path": "description", "code": "contact_not_allowed" }],
"requestId": "req_ab12cd34"
}
}
message se poate traduce; code nu se schimbă niciodată fără o versiune nouă (/v2). fields apare doar la erorile de validare, cu path (locul din cerere) și code.
Coduri HTTP
| Cod | Înseamnă |
|---|---|
400 | cerere sau cursor invalid |
401 | credential lipsă sau invalid |
402 | planul nu include API-ul |
403 | permisiune insuficientă |
404 | resursă absentă sau inaccesibilă (inclusiv „nu e a ta”) |
409 | conflict (cursor schimbat, idempotency) |
422 | validare de business (de exemplu, text cu date de contact) |
429 | limitare — vezi Retry-After |
503 | indisponibilitate temporară |
404 se folosește și când resursa există, dar nu ai drept asupra ei — ca să nu confirmăm ce identificatori sunt valizi pentru alții.
requestId e util pentru suport: îl păstrează și în jurnalele noastre.