solvethree-API-Fehler: Was Sie beheben sollten und wann ein erneuter Versuch sinnvoll ist

Von solvethree4 Min. Lesezeit

Beginnen Sie mit dem HTTP-Status. Ein 401 bedeutet, dass die API Ihre Zugangsdaten abgelehnt hat; eine abgerufene Aufgabe mit dem Status failed bedeutet, dass die Anfrage erfolgreich war, der Lösungsvorgang jedoch nicht. Die erforderlichen Maßnahmen unterscheiden sich.

Auf dieser Seite

HTTP-Fehler beheben, bevor Sie ein Aufgabenergebnis auslesen

Behandeln Sie HTTP-Antworten ohne Erfolgsstatus, bevor Sie Erfolgsdaten auslesen. Bei POST /v1/tasks bedeutet 201, dass eine neue Aufgabe erstellt wurde; 200 bedeutet, dass eine idempotente Wiederholung die bestehende Aufgabe zurückgegeben hat. Keine der beiden Antworten bedeutet, dass der Lösungsvorgang abgeschlossen ist.

400 — ungültiger Anfrage-Body

Vergleichen Sie den gesendeten Body mit den dokumentierten Feldern und Anforderungen für Ihren Aufgabentyp.

Probiere Folgendes: Korrigieren Sie die Eingabe, bevor Sie die Anfrage erneut senden. Eine Wiederholung mit unverändertem ungültigem Body behebt das Problem nicht. Prüfen Sie die Anfrage anhand der Spezifikation zur Aufgabenerstellung.

401 — ungültiger API-Schlüssel

Prüfen Sie, ob die Anfrage Authorization: Bearer gefolgt von einem gültigen Workspace-API-Schlüssel enthält.

Probiere Folgendes: Fügen Sie den fehlenden Schlüssel hinzu oder korrigieren Sie den abgelehnten Schlüssel. Bewahren Sie ihn auf dem Server auf, statt ihn im Browsercode offenzulegen.

402 — unzureichendes Guthaben

Prüfen Sie das Guthaben des Workspace, der dem API-Schlüssel zugeordnet ist.

Probiere Folgendes: Laden Sie das Guthaben dieses Workspace auf, bevor Sie es erneut versuchen. Behandeln Sie andere HTTP-Fehler oder fehlgeschlagene Aufgaben nicht als Guthabenprobleme.

403 — inaktives Websiteprofil

Stellen Sie bei reCAPTCHA sicher, dass für die Zielwebsite ein aktives Profil für Ihren Workspace verfügbar ist.

Probiere Folgendes: Richten Sie die Zielwebsite in der Konsole ein und stellen Sie sicher, dass das Profil aktiv ist. Die Angabe eines Hostnamens und einer Aktion in der Aufgabe erstellt kein Profil. Diese Gateway-Antwort ist kein Beleg dafür, dass die Zielwebsite Sie blockiert hat.

409 — Anfrage-ID-Konflikt

Prüfen Sie, ob dieselbe requestId zuvor mit anderen Aufgabeneingaben verwendet wurde.

Probiere Folgendes: Verwenden Sie die ursprünglichen Eingaben, um die ursprüngliche Aufgabe wiederherzustellen. Wenn Sie eine andere Aufgabe erstellen möchten, geben Sie ihr eine neue Anfrage-ID.

410 — gespeichertes Ergebnis abgelaufen

Prüfen Sie, ob Sie eine abgeschlossene Aufgabe abrufen, deren gespeichertes Ergebnis nicht mehr aufbewahrt wird.

Probiere Folgendes: Rufen Sie dieses Ergebnis nicht weiter ab. Starten Sie einen neuen Lösungsvorgang, wenn Sie weiterhin eine Lösung benötigen. Dieser Status beschreibt die Aufbewahrung von API-Ergebnissen, nicht die Lebensdauer des Tokens oder Cookies für das Ziel.

429 — Anfragerate begrenzt

Lesen Sie die tatsächlich zurückgegebene Retry-After-Angabe.

Probiere Folgendes: Warten Sie vor einem erneuten Versuch wie angegeben und reduzieren Sie die Anfragerate. Fragen Sie bei aktiver Drosselung nicht mit derselben Rate weiter ab und senden Sie nicht mit derselben Rate weitere Anfragen.

502 — Generierungsdienst nicht verfügbar

Unterscheiden Sie die Nichtverfügbarkeit des Dienstes von ungültigen Eingaben oder unzureichendem Guthaben.

Probiere Folgendes: Versuchen Sie es später erneut. Verwenden Sie bei einem weiteren Versuch derselben Erstellungsanfrage deren Anfrage-ID und unveränderte Aufgabeneingaben erneut.

HTTP 503 bedeutet, dass keine Generierungskapazität verfügbar ist. Versuchen Sie es später erneut; verwenden Sie für dieselbe Erstellungsanfrage deren Anfrage-ID und unveränderte Aufgabeneingaben erneut.

Eine fehlgeschlagene Aufgabe ist beendet: Polling stoppen

  • pending oder solving: Setzen Sie das Polling der bestehenden Aufgabe fort; erstellen Sie keinen Ersatz, nur weil sie noch nicht bereit ist.
  • ready: Beenden Sie das Polling und lesen Sie die Lösung aus.
  • failed: Beenden Sie das Polling und prüfen Sie errorCode und error.
Beispielantwort · Endgültiger Fehler
{
  "id": "example_login_001",
  "status": "failed",
  "errorCode": "site-unreachable",
  "error": "target page did not respond"
}

Hier ist site-unreachable ein Aufgabenfehlercode, kein HTTP-Status. Prüfen Sie die übermittelte Ziel-URL und ob die Seite antwortet, bevor Sie einen weiteren Lösungsvorgang anfordern. Weitere Abfragen starten diese fehlgeschlagene Aufgabe nicht neu. Eine Wiederholung mit ihrer ursprünglichen Anfrage-ID gibt die bestehende Aufgabe zurück, statt einen Ersatz zu starten.

Nach einem Erstellungs-Timeout vor dem erneuten Einreichen wiederherstellen

Ein Verbindungs-Timeout beweist nicht, dass die Aufgabenerstellung fehlgeschlagen ist. Verwenden Sie bereits beim ersten Erstellungsversuch eine optionale requestId, damit Sie dieselbe logische Aufgabe sicher wiederherstellen können. Sie muss 1–64 ASCII-Buchstaben, Ziffern, Unterstriche oder Bindestriche enthalten.

  1. 1.

    Wenn Sie die Aufgaben-ID haben, rufen Sie die Aufgabe ab

    Verwenden Sie GET /v1/tasks/:id und behandeln Sie die HTTP-Antwort, bevor Sie den Aufgabenstatus prüfen.

  2. 2.

    Wenn die Erstellungsantwort verloren ging, senden Sie die ursprüngliche Anfrage erneut

    Senden Sie dieselben Aufgabeneingaben mit derselben Anfrage-ID. Eine idempotente Wiederholung gibt die bestehende Aufgabe zurück, sofern sie erstellt wurde. Ändern Sie die Eingaben unter dieser ID nicht.

  3. 3.

    Nur dann Ersatz erstellen, wenn Sie einen weiteren Lösungsvorgang starten möchten

    Eine neue Anfrage-ID steht für neue Arbeit, nicht für die Wiederherstellung der vorherigen Anfrage. Verwenden Sie sie bewusst – beispielsweise nachdem Sie einen endgültigen Fehler untersucht und sich für einen neuen Versuch entschieden haben.

Siehe Wiederherstellung mit Anfrage-ID zur Handhabung wiederholter Anfragen oder Polling und Timeouts, wenn die Erstellung erfolgreich war, die Aufgabe aber noch läuft.

Noch nicht weitergekommen?

Sende dem Support deine Task-ID und die erhaltene Fehlermeldung.

Support kontaktieren
solvethree-API-Fehler: Was Sie beheben sollten und wann ein erneuter Versuch sinnvoll ist · solvethree