Fehler
Häufige offene API-Fehlerform- und Statuscodes.
Fehler
Offene API-Fehler verwenden JSON-Antworttexte, wenn die Anforderung die API-Schicht erreicht. Netzwerkausfälle, CDN-Ausfälle und Unterbrechungen der binären Antwort haben möglicherweise nicht genau diese Form, daher sollte Ihr Client sowohl strukturierte API-Fehler als auch Transportfehler verarbeiten.
Jeder Endpunkt verwendet denselben Trägerauthentifizierungskontext:
Authorization: Bearer FISHAUDIO_API_KEY{
"code": "invalid_request",
"message": "The request payload is invalid.",
"requestId": "req_xxx"
}Statuscodes
| Status | Bedeutung | Typische Aktion |
|---|---|---|
400 | Ungültiger Anforderungstext, Pfadparameter, Abfrageparameter oder Medien-URL | Korrigieren Sie die Anfrage, bevor Sie es erneut versuchen |
401 | Fehlender, fehlerhafter, widerrufener oder deaktivierter API-Schlüssel | Wiederholungsversuche stoppen und Anmeldeinformationen aktualisieren |
402 | Unzureichende Credits, API-Kontingent oder Anbieterzuteilung | Stoppen Sie den Stapel und zeigen Sie den Abrechnungsstatus an |
404 | Die Ressourcen-ID ist für das authentifizierte Konto | unbekannt Lokale Datensätze aktualisieren |
409 | Die Ressource befindet sich in einem Zustand, der mit dem Vorgang | in Konflikt steht Warten oder Abhängigkeiten entfernen |
422 | Medien wurden akzeptiert, können aber nicht verarbeitet werden | Fragen Sie nach verschiedenen Eingabemedien |
429 | Ratenlimit überschritten | Mit exponentiellem Backoff erneut versuchen |
500 | Serverfehler | Wiederholen Sie den Vorgang einige Male und protokollieren Sie requestId |
Protokollierung anfordern
Protokollieren Sie den Endpunkt, die HTTP-Methode, den Status, code, requestId und Ihre eigene interne Job-ID. Protokollieren Sie keine Inhaber-API-Schlüssel, vollständigen Benutzertext oder private Medien-URLs, es sei denn, Ihre Datenschutzrichtlinie und Ihr Support-Workflow erlauben dies ausdrücklich.
Geben Sie für asynchrone Endpunkte sowohl die API-Aufgaben-ID als auch Ihre interne Datenbank-ID in die Protokolle ein. Dadurch ist es möglich, Wiederholungsversuche abzugleichen, ohne dass doppelte Arbeit entsteht.
Abrechnung und Gutschriften
Nicht jeder Fehler hat die gleiche Abrechnungsbedeutung. Validierungsfehler treten normalerweise auf, bevor mit der Medienarbeit begonnen wird. Nach der Annahme einer Aufgabe kann es zu Verarbeitungsfehlern kommen. Vergleichen Sie bei benutzerbezogenen Abrechnungsfragen den Aufgabenstatus mit einem neuen Profil-Lesevorgang, anstatt die Kosten allein aus dem HTTP-Status abzuleiten.
Wiederholungsrichtlinie
Wiederholen Sie die Antworten 429 und einige 500 mit Backoff. Versuchen Sie es nicht blind mit 400, 401 oder 402. Für diese sind Antrags-, Anmeldedaten- oder Abrechnungsänderungen erforderlich. Behalten Sie beim Erstellen von Endpunkten die zurückgegebene ID bei, bevor Sie einen Folgevorgang wiederholen.