Partner-API › Grundlagen › Fehlerbehandlung

Fehlerbehandlung

Jeder Fehler kommt in derselben Form:

{
  "error": {
    "code": "bereich_nicht_freigegeben",
    "message": "Fuer diesen Zugang ist 'Produktsuche im Katalog' nicht freigeschaltet.",
    "hint": "Freigeschaltet ist: Preis-Tiefpunkte, Kategorie-Baum. Erweiterung formlos an partner@goodsway.de."
  }
}

code ist maschinenlesbar und stabil, darauf kannst du verzweigen. message und hint sind für Menschen und können sich ändern.

Alle Fehlercodes

HTTPcodeUrsache und Behebung
400parameter_ungueltig Ein Wert ist keine Zahl, zu klein, zu groß oder fehlt ganz. Die Meldung nennt den Parameter und den erlaubten Bereich. Nicht wiederholen, der Aufruf muss korrigiert werden.
401kein_schluessel Weder Kopfzeile noch key-Parameter gesetzt. Prüfe, ob dein Client die Kopfzeile wirklich mitsendet, manche Bibliotheken verwerfen sie bei Weiterleitungen.
401schluessel_ungueltig Der Schlüssel ist unbekannt oder widerrufen. Häufigste Ursachen: abgeschnittener Wert, Leerzeichen am Rand, falsche Groß-/Kleinschreibung.
403nicht_freigegeben Der Zugang ist noch in Prüfung, abgelehnt oder gesperrt. Der Status steht im Portal.
403bereich_nicht_freigegeben Der Zugang existiert, dieser Bereich ist dafür aber nicht freigeschaltet. hint nennt, was freigeschaltet ist.
404nicht_gefunden Die Artikel-ID ist unbekannt. Nutze den Wert aus dem Feld id einer Deal- oder Suchantwort.
429zu_viele_anfragen Mehr als 60 Aufrufe in einer Minute. Baue eine kurze Pause ein. Für einen vollständigen Tagesabzug genügen rund 150 Aufrufe, die Grenze wird bei normaler Nutzung nie erreicht.
429tageslimit_erreicht Kontingent ausgeschöpft. Bis Mitternacht warten oder Erhöhung anfragen.
503suche_nicht_verfuegbar Nur bei /search. Unser Suchindex ist gerade nicht erreichbar, etwa während einer Wartung. Vorübergehend: in einigen Minuten erneut versuchen. Die anderen Endpunkte sind davon nicht betroffen.
503zaehlung_nicht_verfuegbar Das Tageskontingent kann gerade nicht zuverlässig geprüft oder gespeichert werden. Es werden keine Daten ausgeliefert. Nach der in Retry-After genannten Pause erneut versuchen.

Wiederholungen

FallVorgehen
400, 401, 403, 404 Nicht wiederholen. Der Aufruf ist so falsch und bleibt es.
429 zu_viele_anfragen So lange warten, wie der Kopf Retry-After sagt (60 Sekunden), dann erneut versuchen.
429 tageslimit_erreicht Nicht am selben Tag wiederholen. Retry-After nennt die Sekunden bis Mitternacht.
503 Wiederholen wie einen Netzfehler, mit wachsendem Abstand.
500, Netzfehler, Zeitüberschreitung Bis zu dreimal wiederholen, mit wachsendem Abstand, etwa 2, 8 und 30 Sekunden.

Fertigen Code dafür gibt es unter Rezepte.