Skip to main content
Fehler teilen sich einen gemeinsamen Umschlag:
code ist stabil und für Verzweigungen geeignet. message ist für Menschen gedacht und kann sich ändern. details ist vorhanden, wenn wir das fehlerhafte Feld benennen können.

Codes

400 steht für eine Anfrage, die wir nicht parsen oder verstehen können. 422 ist Anfragen vorbehalten, die einwandfrei geformt sind, aber für die angefragte Region nicht bedient werden können. Eine Verzweigung nach error.code ist beständiger als nach dem Status.

Ablehnungen wegen der Region

Beide Regionscodes werden vor dem Einreihen entschieden. Sie erfahren es sofort, statt zuzusehen, wie ein Task alle Wiederholungen aufbraucht und mit einem Fehler scheitert, der nur das Symptom zeigt. REGION_UNSUPPORTED ist dauerhaft: Diese Engine kann das angefragte Land nicht bedienen.
Siehe die Tabelle der nicht bedienbaren Kombinationen. REGION_UNAVAILABLE ist vorübergehend: Die Route existiert, aber gerade kann nichts sie bedienen. Fragen Sie GET /capacity ab, um zu sehen, was jede Region derzeit bedienen kann.

Batch-Fehler gelten pro Eintrag

Ein wohlgeformter Batch liefert immer 200, auch wenn jeder Task darin fehlschlägt. Der HTTP-Status beschreibt die Anfrage, results[].success jeden einzelnen Task.
Nur eine insgesamt fehlerhafte Anfrage (kein JSON, kein Array, leer, über 500 Einträge, über 8 MB oder nicht autorisiert) führt zu einem 4xx für den Batch selbst.
Ein Batch-Eintrag kann mit REGION_UNAVAILABLE oder ENQUEUE_ERROR fehlschlagen. Keiner der beiden steht im Enum der Fehler pro Eintrag des asynchronen Task-Vertrags, den diese API umsetzt. Beide sind Ergänzungen, kein Ersatz: VALIDATION_ERROR und RESOURCE_ALREADY_EXISTS bleiben unverändert.

Fehler auf Task-Ebene

Ein Task, der nach dem Einreihen fehlschlägt, erzeugt überhaupt keinen HTTP-Fehler. Sie erfahren davon über den Endstatus:
Beachten Sie den Formunterschied: Dieses error auf oberster Ebene ist ein String, nicht das Objekt {code, message, timestamp} der Fehler auf Anfrageebene. Es beginnt mit einem Code, gefolgt von einem festen Satz für diesen Code; verzweigen Sie also anhand des Codes: ENGINE_TIMEOUT, ENGINE_NO_RESULT, ENGINE_FAILED oder NO_IP_AVAILABLE und NO_ACCOUNT_AVAILABLE, wenn nicht rechtzeitig Kapazität frei wurde (ein späterer neuer Versuch funktioniert meist). BAD_PAYLOAD und PAGE_UNAVAILABLE (eine Naver-Seite, die sich nicht anonym lesen lässt) behalten eine Meldung, die sagt, was zu ändern ist. Derselbe Task stellt einen Webhook mit task.status === "FAILED" zu.