Diese Seite dokumentiert das Fehlerformat, die vollständige Liste der Antwortcodes, Anfragelimits und wie sich die Planverwendung auf die Übersetzung auswirkt.
Antwort-Envelope
Jede Antwort, ob erfolgreich oder fehlerhaft, verwendet dieselbe JSON-Envelope:
{
"success": false,
"data": null,
"message": "Invalid source URL format.",
"code": "TRANSLATION_INVALID_SOURCE_URL"
}
Bei einem Fehler ist success false und data ist null. Verzweigen Sie anhand des Feldes code und nicht anhand der menschenlesbaren message, die sich ändern kann.
Fehlercodes
| Code | HTTP | Bedeutung |
|---|---|---|
API_SCHLÜSSEL_FEHLT | 401 | Es wurde kein X-API-Key-Header angegeben. |
API_SCHLÜSSEL_UNGÜLTIGES_FORMAT | 401 | Der Schlüssel hat kein anerkanntes Format. |
API_SCHLÜSSEL_FEHLERHAFT | 401 | Der Schlüssel konnte nicht analysiert werden. |
API_SCHLÜSSEL_UNGÜLTIG | 401 | Der Schlüssel ist korrekt formatiert, wird aber nicht erkannt. |
API_SCHLÜSSEL_PROJEKT_UNVOLLSTÄNDIG | 500 | Die diesem Schlüssel zugeordnete Website ist falsch konfiguriert. Kontaktieren Sie den Support. |
PROJEKT_NICHT_GEFUNDEN | 404 | Keine Website entspricht diesem Schlüssel. |
PROJEKT_IST_GELÖSCHT | 404 | Die Website wurde gelöscht und ist nicht mehr zugänglich. |
ÜBERSETZUNG_UNGÜLTIGE_QUELL_URL | 400 | sourceUrl ist keine gültige URL. |
ÜBERSETZUNG_QUELL_URL_DOMAIN_NICHT_ÜBEREINSTIMMEND | 403 | sourceUrl stimmt nicht mit der Domain Ihrer Website überein. |
ÜBERSETZUNG_GLEICHE_SPRACHE | 400 | Die Zielsprache entspricht der Quellsprache. |
ÜBERSETZUNG_ZIELSPRACHE_NICHT_ERLAUBT | 403 | Die Zielsprache ist für Ihre Website nicht aktiviert. |
ÜBERSETZUNG_KEINE_SPRACHEN_KONFIGURIERT | 400 | Für die Website sind keine Zielsprachen konfiguriert. |
ÜBERSETZUNGSDIENST_NICHT_VERFÜGBAR | 503 | Der Übersetzungsdienst ist vorübergehend nicht verfügbar. Versuchen Sie es später erneut. |
ÜBERSETZUNGSDIENST_FEHLGESCHLAGEN | 500 | Der Übersetzungsdienst konnte die Anfrage nicht verarbeiten. |
KEIN_ÜBERSETZBARER_INHALT | 400 | Es wurden keine übersetzbaren Inhalte im HTML gefunden. |
PLANGRENZE_ERREICHT | 403 | Das Wortkontingent Ihres Plans ist erschöpft. |
VALIDIERUNGSFEHLER | 400 | Der Anfragekörper hat die Schema-Validierung nicht bestanden. |
UNGÜLTIGES_JSON | 400 | Der Anfragekörper ist kein gültiges JSON. |
DEKOMPRESSIONSFEHLER | 400 | Ein Gzip-Körper konnte nicht dekomprimiert werden. |
ANFRAGE_ZU_GROSS | 413 | Der Anfragekörper überschreitet 5 MB. |
NICHT_GEFUNDEN | 404 | Unbekannte Route. |
Anfragelimits
| Limit | Wert |
|---|---|
| Maximaler Anfragekörper | 5 MB |
| Maximale Zeichenketten pro Anfrage | 500 (Zeichenketten-Endpunkt) |
| Zulässige Methoden | GET, POST, OPTIONS |
Wenn der Körper 5 MB überschreitet, erhalten Sie REQUEST_TOO_LARGE (413). Teilen Sie für große Seiten oder große Zeichenkettensätze die Arbeit auf mehrere Anfragen auf.
Komprimierte Anfragekörper
Der Translator akzeptiert gzip-komprimierte Anfragekörper. Setzen Sie den Header Content-Encoding auf gzip und senden Sie das komprimierte JSON; der Körper wird vor der Verarbeitung dekomprimiert. Dies ist nützlich für große HTML-Dokumente, die sich dem Limit von 5 MB nähern.
Content-Type: application/json
Content-Encoding: gzip
Wenn die Dekomprimierung fehlschlägt, ist die Antwort DECOMPRESSION_ERROR (400).
Anfragen von Drittanbietern
Der Translator gibt permissive CORS-Header zurück, die Anfragen von jedem Ursprung mit den Headern Content-Type, X-API-Key und Content-Encoding zulassen. Dennoch enthalten Anfragen Ihren API-Schlüssel und sollten serverseitig gesendet werden. Siehe Authentifizierung.
Plan-Nutzung und Teilübersetzungen
Übersetzung verbraucht das Wortkontingent Ihres Plans, das zwischen den HTML- und String-Endpunkten geteilt wird. Die Nutzung wird pro Anfrage durchgesetzt, anstatt den gesamten Aufruf abzulehnen:
- Wenn Ihr Kontingent vor dem Eintreffen einer Anfrage erschöpft ist, schlägt die Anfrage mit
PLAN_LIMIT_REACHED(403) fehl. - Wenn das Kontingent während einer Anfrage zur Neige geht, übersetzt Universally so viel wie möglich, gibt eine erfolgreiche Antwort zurück und meldet den Fehlbetrag in den Metadaten.
Zwei Metadatenfelder beschreiben dies:
| Feld | Bedeutung |
|---|---|
limitReached | true, wenn das Wortkontingent während der Anfrage erreicht wurde. |
skippedStrings | Die Anzahl der verbleibenden Strings in der Quellsprache, da das Limit erreicht wurde. |
Wenn limitReached true ist, behandeln Sie die Antwort als teilweise: übersetzter Inhalt wird zurückgegeben, wo möglich, und nicht übersetzte Strings fallen auf ihren ursprünglichen Text zurück. Erweitern Sie Ihren Plan, um das Kontingent zu erhöhen.
Wiederholungsversuche
Bei transienten Fehlern (TRANSLATION_SERVICE_UNAVAILABLE bei 503 oder jeder 5xx) versuchen Sie es mit exponentiellem Backoff erneut. Übersetzungen werden zwischengespeichert, sodass wiederholte Anfragen, die zuvor teilweise erfolgreich waren, vorhandene Arbeiten wiederverwenden und nur das übersetzen, was noch fehlt. Versuchen Sie nicht, 4xx-Fehler zu wiederholen; sie weisen auf ein Problem mit der Anfrage hin, das sich nicht von selbst löst.