SquareCloudAPIError.
Gli esempi usano il client api di Creare il client. appId è l’id di una delle tue app: api.account.me() le elenca.
SquareCloudAPIError
SquareCloudAPIError estende Error (non è un TypeError).
Due errori non vengono incapsulati:
- Una chiamata annullata viene rifiutata con il
reasondel signal. Un ciclorealtime()annullato semplicemente termina. - Un percorso di upload che non può essere aperto lancia l’errore del file system.
Codici dell’SDK
Il tipo ErrorCode
ErrorCode è solo un tipo (nessun oggetto a runtime). Elenca ogni codice pubblico dell’API, quelli deprecati e quelli dell’SDK, più string & {}, così il tuo editor completa automaticamente i codici noti e i nuovi codici superano comunque il controllo dei tipi. RATE_LIMIT e RATE_LIMIT_EXCEEDED sono ancora presenti nel tipo, contrassegnati come deprecati: l’API ora risponde RATE_LIMITED per entrambi.
L’elenco dei codici dell’API cresce. Gestisci un codice sconosciuto in base al suo status HTTP:
Codici di errore dell’API
Ogni altro codice proviene dall’API. Il riferimento degli errori dell’API li elenca uno per uno con lo status HTTP, il significato e la soluzione, e ogni pagina degli SDK elenca i codici che i suoi metodi restituiscono più spesso. Qualsiasi chiamata può anche rispondere 401ACCESS_DENIED (una chiave errata), 403 MISSING_SCOPE o RESOURCE_NOT_ALLOWED (i limiti della chiave), 429 (vedi Rate limit) o 503 DATABASE_UNAVAILABLE.
Gli errori di ai.chat() usano invece i codici minuscoli di OpenAI (access_denied, rate_limit_exceeded, server_overloaded, …). Vedi AI.
Retry
L’SDK ripete solo ciò che è sicuro ripetere, fino amaxRetries volte (predefinito 2, quindi fino a 3 tentativi):
Non ripete mai:
TIMEOUT;- qualsiasi 429:
RATE_LIMITEDpuò essere un blocco di circa 30 minuti, e nemmenoKEEP_CALMviene ripetuto; - gli altri 5xx;
- gli errori dell’AI.
DATABASE_UNAVAILABLE può arrivare dopo che una mutazione è già stata applicata, quindi l’SDK non lo ripete al di fuori di GET. Ripeti tu le tue mutazioni idempotenti, se necessario.
L’attesa prima del retry n (a partire da 0) è min(8 s, 500 ms · 2^n) · U(0.5, 1): backoff esponenziale con jitter dal 50% al 100%. Imposta maxRetries: 0 per disattivare i retry.
Timeout
timeoutMs (30 s) si applica per tentativo e copre l’intera risposta. Vedi Timeout per le chiamate con una soglia minima di 120 s e quelle senza timeout. Un timeout lancia TIMEOUT con status 0 e non viene mai ripetuto.
Rate limit
Ogni account ha un limite di richieste ogni 60 secondi, stabilito dal suo piano (valori), e alcune route hanno un limite proprio:- 429
RATE_LIMITED: l’account o la chiave API ha superato il suo budget di richieste ed è bloccato per circa 30 minuti, oppure un IP che continua a inviare chiavi non valide viene bloccato per un breve periodo. È anche il limite degli endpoint di rete e diaccount.snapshots. - 429
KEEP_CALM: troppe chiamate a una route in poco tempo.
Prossimi passi
Riferimento degli errori dell'API
Ogni codice di errore, con il significato e la soluzione.
Limiti e restrizioni
I limiti di richieste di ogni piano.

