Fehler
Jeder Fehler hat denselben Umschlag: { "error": "<code>", "message": "…", "details": { … } }. Verzweigen Sie anhand von error, nie anhand von message; details.path nennt das Feld, wenn eines die Ursache ist.
Pfade, Feldnamen, Fehlercodes, Header-Namen und Codebeispiele bleiben englisch: Sie sind der Vertrag.
Wann Sie es erneut versuchen
429 und 503 kommen mit einem Header Retry-After: Warten Sie so viele Sekunden und senden Sie dieselbe Anfrage erneut. 504 solve_timeout kann bei einem erneuten Versuch mit einem kleineren Auftrag gelingen. Jedes 4xx außer 429 ist ein Problem der Anfrage selbst und schlägt unverändert wieder fehl.
Fehlercodes
| Fehlercode | HTTP-Status | Bedeutung |
|---|---|---|
| invalid_request | 400 | Der Body oder ein Parameter ist fehlerhaft: kein JSON, kein Objekt oder ein Feld mit falscher Form. |
| idempotency_key_required | 400 | Der Bestellaufruf hat keinen gültigen Header Idempotency-Key. |
| quote_invalid | 400 | Das Angebots-Token gehört nicht zu diesem Angebot, ist abgelaufen oder wurde verändert, oder Test und Live wurden vermischt. |
| unknown_workflow | 400 | Der Shop hat keinen Workflow mit dieser ID. |
| workflow_disabled | 400 | Der Workflow existiert, ist aber ausgeschaltet. |
| mode_mismatch | 400 | Der gesendete Modus ist nicht der Modus dieses Workflows. |
| unknown_mode | 400 | Der gesendete Modus ist kein bekannter Modus. |
| unsupported_mode | 400 | Der Modus des Workflows ist auf diesem Dienst noch nicht verfügbar. |
| limit_exceeded | 400 | Zu viele oder zu wenige Zeilen, zu viele Teile oder ein Teil außerhalb der Größenlimits des Shops. |
| outside_catalog_slice | 400 | Ein Material wird in diesem Workflow nicht angeboten. |
| unknown_reference | 400 | Ein Material, eine Kante oder ein anderer Katalogeintrag ist unbekannt oder ausgeschaltet. |
| required_field_missing | 400 | Ein Feld, das der Shop als Pflichtfeld markiert hat, fehlt. |
| unauthorized | 401 | Der Schlüssel fehlt, ist fehlerhaft, unbekannt oder widerrufen, oder ein Testschlüssel ist abgelaufen. |
| project_token_required | 401 | Ein Projektaufruf braucht den Header mit dem Projekt-Token. |
| project_token_invalid | 401 | Der Header mit dem Projekt-Token ist fehlerhaft oder wurde doppelt gesendet. |
| quota_exceeded | 402 | Das monatliche Angebotskontingent des Shops ist aufgebraucht. |
| customer_context_required | 403 | Eine andere Kundengruppe als die Standardgruppe braucht den geheimen Schlüssel, also einen Aufruf von Ihrem Server. |
| origin_not_allowed | 403 | Die Origin der Seite steht nicht auf der Liste des öffentlichen Schlüssels. |
| sandbox_expired | 403 | Der Sandbox-Shop ist abgelaufen und nur noch lesbar. |
| not_found | 404 | Keine solche Route, kein solches Angebot, keine solche Bestellung und kein solches Projekt, oder sie gehören zu einem anderen Shop. |
| not_configured | 404 | Der Shop hat noch keine Konfiguration veröffentlicht. |
| idempotency_conflict | 409 | Dieser Idempotency-Key wurde bereits für ein anderes Angebot verwendet. |
| quote_already_redeemed | 409 | Dieses Angebot wurde bereits bestellt. |
| quote_requote | 409 | Das Angebot wurde mit einem Schlüssel signiert, der inzwischen rotiert wurde: Fordern Sie ein neues Angebot an. |
| too_large | 413 | Der Request-Body ist größer, als die Route akzeptiert. |
| unsupported_media_type | 415 | Der Body wurde nicht als application/json gesendet. |
| plan_incomplete | 400 / 422 | Einige Teile passen auf keine Platte, daher gibt es nichts anzubieten. |
| project_not_reorderable | 422 | Das gespeicherte Projekt enthält keine Zuschnittliste, die sich bepreisen lässt. |
| rate_limited | 429 | Ein Ratenlimit wurde erreicht: Warten Sie die Sekunden aus Retry-After ab. |
| busy | 429 | Die Solver-Warteschlange ist voll: Versuchen Sie es nach den Sekunden aus Retry-After erneut. |
| test_limit | 429 | Die Testschlüssel haben ihre tägliche Obergrenze für Angebote oder Bestellungen erreicht. |
| sandbox_order_limit | 429 | Der Sandbox-Shop hat seine Bestellobergrenze für den Zeitraum erreicht. |
| project_limit | 429 | Der Shop speichert bereits die maximale Anzahl oder Größe gespeicherter Projekte. |
| internal | 500 | Ein unerwarteter Fehler auf unserer Seite. |
| service_unavailable | 503 | Ein Teil des Dienstes hat nicht geantwortet: Versuchen Sie es später erneut. |
| config_invalid | 503 | Die Konfiguration des Shops kann nicht geladen werden. |
| tenant_unconfigured | 503 | Der Shop hat keinen aktiven Angebots-Signaturschlüssel. |
| final_engine_unavailable | 503 | Dieser Workflow rechnet mit der Max-Engine, die hier nicht verfügbar ist. |
| solve_timeout | 504 | Die Planberechnung dauerte zu lange. |
Preiscodes
Diese Codes stammen aus der Preis-Engine. Sie antworten bei POST /cfg/v1/quote und bei einer Nachbestellung mit 400; bei POST /cfg/v1/preview gelingt der Aufruf, und der Code kommt in priceError an, sodass die Live-Vorschau den Plan zeigen kann, auch wenn sich der Preis nicht berechnen lässt.
invalid_config · invalid_job · invalid_request · unknown_workflow · workflow_disabled · unknown_mode · mode_unavailable · unsupported_mode · unknown_reference · item_disabled · outside_catalog_slice · unpriced_item · no_strategy · unpriced_sheet · cut_length_unattributable · plan_incomplete · bonded_unpriced · bonded_not_allowed · template_value_invalid · machining_length_missing · machining_invalid · unknown_customer_group · shipping_unavailable · delivery_below_minimum · weight_unavailable · rule_budget · amount_overflow
Eine Schaltfläche "Ausprobieren" gibt es hier mit Absicht nicht: Der geheime Schlüssel gehört auf Ihren Server, nie in einen Browser. Der Demo-Shop zeigt Einbettung und Bestellübergabe von Anfang bis Ende.
RechtlichesKonfigurator-Bedingungen (EN) ·Auftragsverarbeitungsvertrag (EN) ·Datenschutzhinweis für Käufer ·Drittanbieter-Lizenzen (EN)