solvethree-API-Fehler: Was Sie beheben sollten und wann ein erneuter Versuch sinnvoll ist
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: Bearergefolgt 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
requestIdzuvor 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
pendingodersolving: 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 SieerrorCodeunderror.
{
"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.
Wenn Sie die Aufgaben-ID haben, rufen Sie die Aufgabe ab
Verwenden Sie
GET /v1/tasks/:idund behandeln Sie die HTTP-Antwort, bevor Sie den Aufgabenstatus prüfen. - 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.
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.
Quellen und API-Referenz
Noch nicht weitergekommen?
Sende dem Support deine Task-ID und die erhaltene Fehlermeldung.