Salta ai contenuti

Guide

Errori

Ogni errore di /public/v1/* risponde con lo stesso corpo, qualunque sia il codice HTTP:

{
"error": "PERMISSION_DENIED",
"message": "You do not have the required permission for this action",
"request_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
"details": {}
}
  • error — il codice della tabella sotto; l’unico campo su cui la tua integrazione dovrebbe decidere cosa fare. Non cambia mai forma all’interno di /public/v1 (vedi Versioning).
  • message — testo per umani, in inglese, orientato al debug — non mostrarlo così com’è al tuo utente finale né usarlo per decidere la logica di business, la sua formulazione può cambiare senza preavviso.
  • request_id — includilo se scrivi al supporto per un errore specifico; ci aiuta a trovare la richiesta esatta nei nostri log.
  • details — contesto aggiuntivo (per es. quali campi hanno fallito una validazione); non è mai la parte stabile del contratto, trattalo come informativo.
HTTPerrorQuando compare
401INVALID_CREDENTIALSLa chiave non esiste, è stata copiata male o è revocata.
401TOKEN_EXPIREDLa chiave ha superato la sua data di scadenza.
403PERMISSION_DENIEDLa chiave non ha lo scope esatto richiesto dall’endpoint — vedi Autenticazione.
403PLAN_NOT_ELIGIBLEIl tenant proprietario della chiave non è su un piano Pro o Enterprise — vedi Piani e limiti.
404NOT_FOUNDLa risorsa non esiste, oppure appartiene a un altro tenant — stessa risposta in entrambi i casi, per non confermare mai l’esistenza di dati altrui.
409WHATSAPP_SESSION_WINDOW_CLOSEDPOST /conversations/{id}/messages verso un contatto WhatsApp con la finestra di 24h chiusa — usa POST /conversations/start con un template approvato al suo posto. L’invio reale non viene mai tentato.
422VALIDATION_ERRORIl corpo o i parametri della richiesta non rispettano lo schema dell’endpoint — controlla details.
422IDEMPOTENCY_KEY_REUSE_MISMATCHSolo se invii l’header opzionale Idempotency-Key: lo stesso valore è già stato usato con un corpo DIVERSO in una richiesta precedente. Genera una chiave nuova per una richiesta realmente diversa.
429RATE_LIMIT_EXCEEDEDHai superato la tua quota di richieste — vedi Piani e limiti per gli header X-RateLimit-*.

Un 422 di validazione di FastAPI (corpo malformato, tipo errato) usa lo stesso envelope, con details che elenca ogni campo che ha fallito.