# Fehlerbehandlung
## Einheitliches Fehlerantwortformat
Alle API-Fehler geben ein einheitliches JSON-Format zurück:
```json
{
"code": 2010,
"message": "Insufficient credits",
"suggestion": "Please top up your account at https://platform.tripo3d.ai",
"request_id": "req_abc123"
}
```
| Feld | Typ | Beschreibung |
| :-: | :-: | :-: |
| code | ganze Zahl | Fehlercode |
| message | Zeichenfolge | Fehlerbeschreibung |
| suggestion | Zeichenfolge | Vorgeschlagene Lösung |
| request_id | Zeichenfolge | Eindeutige Anforderungskennung zur Fehlerbehebung |
## HTTP Statuscodes
| Statuscode | Bedeutung | Beschreibung |
| :-: | :-: | :-: |
| 200 | Erfolg | Die Anfrage wurde erfolgreich bearbeitet |
| 400 | Ungültige Parameter | Erforderliche Parameter fehlen oder sind fehlerhaft |
| 401 | Nicht authentifiziert | Der API Key fehlt oder ist ungültig |
| 403 | Unzureichende Berechtigungen | Sie haben keine Berechtigung zum Zugriff auf die Ressource oder Ihr Guthaben reicht nicht aus |
| 404 | Ressource nicht gefunden | Die angeforderte Aufgabe oder Ressource existiert nicht |
| 429 | Zu viele Anfragen | Ratenlimit überschritten. Reduzieren Sie die Häufigkeit Ihrer Anfragen |
| 500 | Servicefehler | Interner Serverfehler. Versuchen Sie es später noch einmal |
## Fehlercode-Referenz
| Fehlercode | Bedeutung | Empfohlene Handhabung |
| :-: | :-: | :-: |
| 1000 | Ungültiges API Key | Überprüfen Sie, ob API Key korrekt ist oder gelöscht wurde |
| 1001 | Nicht autorisiert | Überprüfen Sie, ob der Anforderungsheader `Authorization` enthält |
| 2000 | Ratenlimit überschritten | Reduzieren Sie die Anforderungshäufigkeit und implementieren Sie Wiederholungsversuche mit exponentiellem Backoff |
| 2002 | Nicht unterstützter Anforderungsparameter | Überprüfen Sie, ob die Feldnamen und Werte des Anforderungstexts mit der Dokumentation übereinstimmen |
| 2003 | Leere Eingabedatei | Stellen Sie sicher, dass die hochgeladene Datei nicht leer ist und ein gültiges Format verwendet |
| 2004 | Nicht unterstützter Dateityp | Überprüfen Sie, ob das Dateiformat in der unterstützten Liste enthalten ist |
| 2008 | Verstoß gegen die Inhaltsrichtlinien | Ändern Sie den Eingabeinhalt, um verbotene Wörter oder Bilder zu vermeiden |
| 2010 | Unzureichende Credits | Guthaben in der Konsole aufladen |
| 2015 | Version veraltet | Aktualisieren Sie auf die neueste API-Version |
| 2018 | Modell zu komplex | Reduzieren Sie die Komplexität oder Polycount des Eingabemodells |
## Beispiele für die Fehlerbehandlung
### Python
```python
import time
import requests
def call_api_with_retry(url, headers, payload=None, max_retries=3):
for attempt in range(max_retries):
if payload:
response = requests.post(url, headers=headers, json=payload)
else:
response = requests.get(url, headers=headers)
if response.status_code == 200:
return response.json()
if response.status_code == 429:
wait = 2 ** attempt
print(f"Rate limit triggered. Retrying in {wait} seconds...")
time.sleep(wait)
continue
error = response.json()
raise Exception(
f"API error [{error['code']}]: {error['message']} "
f"(suggestion: {error.get('suggestion', 'none')})"
)
raise Exception("Maximum retry attempts exhausted")
```
### JavaScript
```javascript
async function callApiWithRetry(url, options, maxRetries = 3) {
for (let attempt = 0; attempt < maxRetries; attempt++) {
const response = await fetch(url, options);
if (response.ok) {
return await response.json();
}
if (response.status === 429) {
const wait = 2 ** attempt * 1000;
console.log(`Rate limit triggered. Retrying in ${wait / 1000} seconds...`);
await new Promise(resolve => setTimeout(resolve, wait));
continue;
}
const error = await response.json();
throw new Error(
`API error [${error.code}]: ${error.message} (suggestion: ${error.suggestion || "none"})`
);
}
throw new Error("Maximum retry attempts exhausted");
}
```
## Empfehlungen zur Wiederholungsstrategie
Für wiederholbare Fehler, wie etwa 429 Ratenlimits und 500 Dienstfehler, verwenden Sie eine exponentielle Backoff-Strategie:
1. Erster Wiederholungsversuch: 1 Sekunde warten
2. Zweiter Wiederholungsversuch: 2 Sekunden warten
3. Dritter Wiederholungsversuch: 4 Sekunden warten
4. Behalten Sie die maximale Anzahl an Wiederholungsversuchen bei 5 oder weniger
Bei nicht wiederholbaren Fehlern wie 400, 401 und 403 lösen Sie direkt eine Ausnahme aus und beheben das zugrunde liegende Problem.
Fehlerbehandlung
Einheitliches Fehlerantwortformat
Alle API-Fehler geben ein einheitliches JSON-Format zurück:
JSON
{
"code":2010,
"message":"Insufficient credits",
"suggestion":"Please top up your account at https://platform.tripo3d.ai",
"request_id":"req_abc123"}
Feld
Typ
Beschreibung
code
ganze Zahl
Fehlercode
message
Zeichenfolge
Fehlerbeschreibung
suggestion
Zeichenfolge
Vorgeschlagene Lösung
request_id
Zeichenfolge
Eindeutige Anforderungskennung zur Fehlerbehebung
HTTP Statuscodes
Statuscode
Bedeutung
Beschreibung
200
Erfolg
Die Anfrage wurde erfolgreich bearbeitet
400
Ungültige Parameter
Erforderliche Parameter fehlen oder sind fehlerhaft
401
Nicht authentifiziert
Der API Key fehlt oder ist ungültig
403
Unzureichende Berechtigungen
Sie haben keine Berechtigung zum Zugriff auf die Ressource oder Ihr Guthaben reicht nicht aus
404
Ressource nicht gefunden
Die angeforderte Aufgabe oder Ressource existiert nicht
429
Zu viele Anfragen
Ratenlimit überschritten. Reduzieren Sie die Häufigkeit Ihrer Anfragen
500
Servicefehler
Interner Serverfehler. Versuchen Sie es später noch einmal
Fehlercode-Referenz
Fehlercode
Bedeutung
Empfohlene Handhabung
1000
Ungültiges API Key
Überprüfen Sie, ob API Key korrekt ist oder gelöscht wurde
1001
Nicht autorisiert
Überprüfen Sie, ob der Anforderungsheader Authorization enthält
2000
Ratenlimit überschritten
Reduzieren Sie die Anforderungshäufigkeit und implementieren Sie Wiederholungsversuche mit exponentiellem Backoff
2002
Nicht unterstützter Anforderungsparameter
Überprüfen Sie, ob die Feldnamen und Werte des Anforderungstexts mit der Dokumentation übereinstimmen
2003
Leere Eingabedatei
Stellen Sie sicher, dass die hochgeladene Datei nicht leer ist und ein gültiges Format verwendet
2004
Nicht unterstützter Dateityp
Überprüfen Sie, ob das Dateiformat in der unterstützten Liste enthalten ist
2008
Verstoß gegen die Inhaltsrichtlinien
Ändern Sie den Eingabeinhalt, um verbotene Wörter oder Bilder zu vermeiden
2010
Unzureichende Credits
Guthaben in der Konsole aufladen
2015
Version veraltet
Aktualisieren Sie auf die neueste API-Version
2018
Modell zu komplex
Reduzieren Sie die Komplexität oder Polycount des Eingabemodells