Documentazione Universally

Guide passo-passo, suggerimenti SEO multilingue e best practice per aiutarti a tradurre e scalare il tuo sito WordPress.

Errori e limiti dell'API

Questa pagina documenta il formato degli errori, l'elenco completo dei codici di risposta, i limiti di richiesta e come l'utilizzo del piano influisce sulla traduzione.

Envelope della risposta

Ogni risposta, di successo o di errore, utilizza lo stesso envelope JSON:

{
  "success": false,
  "data": null,
  "message": "Invalid source URL format.",
  "code": "TRANSLATION_INVALID_SOURCE_URL"
}

In caso di errore, success è false e data è null. Ramifica sul campo code anziché sul message leggibile dall'uomo, che potrebbe cambiare.

Codici di errore

CodiceHTTPSignificato
CHIAVE_API_MANCANTE401Nessun header X-API-Key è stato fornito.
CHIAVE_API_FORMATO_NON_VALIDO401La chiave non ha un formato riconosciuto.
CHIAVE_API_NON_CORRETTA401La chiave non è stata analizzata correttamente.
CHIAVE_API_NON_VALIDA401La chiave è ben formattata ma non riconosciuta.
API_KEY_PROGETTO_INCOMPLETO500Il sito associato a questa chiave è configurato in modo errato. Contatta il supporto.
PROGETTO_NON_TROVATO404Nessun sito corrisponde a questa chiave.
PROGETTO_ELIMINATO404Il sito è stato eliminato e non è più accessibile.
URL_SORGENTE_TRADUZIONE_NON_VALIDO400sourceUrl non è un URL valido.
URL_SORGENTE_TRADUZIONE_DOMINIO_DIVERSO403sourceUrl non corrisponde al dominio del tuo sito.
TRADUZIONE_STESSA_LINGUA400La lingua di destinazione è uguale alla lingua di origine.
LINGUA_TARGET_TRADUZIONE_NON_CONSENTITA403La lingua di destinazione non è abilitata per il tuo sito.
TRADUZIONE_NESSUNA_LINGUA_CONFIGURATA400Nessuna lingua di destinazione è configurata per il sito.
SERVIZIO_TRADUZIONE_NON_DISPONIBILE503Il servizio di traduzione non è temporaneamente disponibile. Riprova con backoff.
ERRORE_SERVIZIO_TRADUZIONE500Il servizio di traduzione non è riuscito a elaborare la richiesta.
NESSUN_CONTENUTO_TRADUCIBILE400Nessun contenuto traducibile trovato nell'HTML.
LIMITE_PIANO_RAGGIUNTO403La tua quota di parole del piano è esaurita.
ERRORE_VALIDAZIONE400Il corpo della richiesta non ha superato la validazione dello schema.
JSON_NON_VALIDO400Il corpo della richiesta non è JSON valido.
ERRORE_DECOMPRESSIONE400Un corpo gzip non è stato decompresso.
RICHIESTA_TROPPO_GRANDE413Il corpo della richiesta supera i 5 MB.
NON_TROVATO404Percorso sconosciuto.

Limiti di richiesta

LimiteValore
Corpo massimo della richiesta5 MB
Stringhe massime per richiesta500 (endpoint stringhe)
Metodi consentitiGET, POST, OPTIONS

Se il corpo supera i 5 MB ricevi REQUEST_TOO_LARGE (413). Per pagine o set di stringhe di grandi dimensioni, suddividi il lavoro su più richieste.

Corpi delle richieste compressi

Il Translator accetta corpi delle richieste compressi con gzip. Imposta l'intestazione Content-Encoding su gzip e invia il JSON compresso; il corpo viene decompresso prima dell'analisi. Questo è utile per grandi documenti HTML che si avvicinano al limite di 5 MB.

Content-Type: application/json
Content-Encoding: gzip

Se la decompressione fallisce, la risposta è DECOMPRESSION_ERROR (400).

Richieste cross-origin

Il Translator restituisce intestazioni CORS permissive, consentendo richieste da qualsiasi origine con le intestazioni Content-Type, X-API-Key e Content-Encoding. Anche così, le richieste trasportano la tua chiave API e dovrebbero essere inviate lato server. Vedi Autenticazione.

Utilizzo del piano e traduzioni parziali

La traduzione consuma la quota di parole del tuo piano, condivisa tra gli endpoint HTML e stringhe. L'utilizzo viene applicato per richiesta anziché rifiutando l'intera chiamata:

  • Se la tua quota è esaurita prima che arrivi una richiesta, la richiesta fallisce con PLAN_LIMIT_REACHED (403).
  • Se la quota si esaurisce a metà di una richiesta, Universally traduce il più possibile, restituisce una risposta di successo e segnala la carenza nei metadati.

Due campi di metadati descrivono questo:

CampoSignificato
limiteRaggiuntotrue quando la quota di parole è stata raggiunta durante la richiesta.
stringheSaltateIl numero di stringhe rimaste nella lingua di origine perché è stato raggiunto il limite.

Quando limitReached è true, tratta la risposta come parziale: il contenuto tradotto viene restituito dove possibile e le stringhe non tradotte tornano al loro testo originale. Aggiorna il tuo piano per aumentare la quota.

Tentativi

Per errori transitori (TRANSLATION_SERVICE_UNAVAILABLE a 503, o qualsiasi 5xx), ritenta con backoff esponenziale. Le traduzioni vengono memorizzate nella cache, quindi le richieste ritentate che hanno avuto parzialmente successo in precedenza riutilizzano il lavoro esistente e traducono solo ciò che manca ancora. Non ritentare errori 4xx; indicano un problema con la richiesta che non si risolverà da solo.

È stato utile?