Aus dem Englischen übersetzt. Bei Abweichungen gilt die englische Seite. Auf Englisch lesen

Fehler

Das Fehlerformat, jeder Fehlercode und was jeweils zu tun ist.

Jede Fehlerantwort hat dieselbe Struktur:

{
  "error": {
    "type": "invalid_request_error",
    "code": "photo_required_for_channel",
    "message": "Product 66a1… has no images: channel \"etsy\" requires at least one image. Add an image, then publish again.",
    "param": null,
    "doc_url": "https://developers.nembol.com/docs/getting-started/errors#photo_required_for_channel"
  },
  "request_id": "req_9f83…"
}
  • type: eine von vier Familien (siehe unten). Verzweige danach für deine Wiederholungslogik.
  • code: stabiler, maschinenlesbarer String. Verzweige danach für eine gezielte Behandlung.
  • message: für Menschen lesbar, auf Englisch, sagt dir, wie du das Problem behebst. Parse sie nie.
  • param: das betroffene Feld bei Validierungsfehlern (z. B. variants[2].price).
  • request_id: gib sie an, wenn du den Support kontaktierst.

Fehlertypen

typeHTTPWiederholen?
invalid_request_error400, 402, 403, 404, 409, 410, 412, 413, 415, 422Nein. Korrigiere den Request (402: das Abo des Shops ist nicht aktiv)
authentication_error401, 403Nein. Korrigiere den Schlüssel oder die Scopes
rate_limit_error429Ja, nach Retry-After Sekunden
api_error5xxJa, mit exponentiellem Backoff

Häufige Codes

CodeHTTPBedeutung
invalid_api_key401Schlüssel fehlt, ist fehlerhaft, widerrufen oder rotiert
insufficient_scope403Dem Schlüssel fehlt der Scope für diesen Endpoint
plan_not_eligible403Der Plan des Shops enthält keinen API-Zugang (in der Testphase: nur Test-Schlüssel funktionieren)
product_not_found / order_not_found / variant_not_found / listing_not_found / action_not_found / operation_not_found / event_not_found / import_not_found / channel_account_not_found / channel_connection_not_found / ignored_listing_not_found / webhook_endpoint_not_found / redirect_url_not_found / promotion_not_found / discount_not_found / bundle_not_found / notification_not_found404Keine solche Ressource in diesem Shop. listing_not_found erscheint auch pro Eintrag in Batch-Ergebnissen für Angebote
validation_failed422Siehe param und message
invalid_json400Der Body ist kein gültiges JSON (ein fehlendes Anführungszeichen, Komma oder eine fehlende Klammer). Nichts wurde gelesen oder geändert
payload_too_large413Der Body ist größer als 25 MB. Sende Bilder als URLs oder über POST /files, oder teile den Batch auf
unsupported_encoding415Zeichensatz oder Kodierung des Bodys werden nicht unterstützt. Sende UTF-8-JSON (gzip ist in Ordnung)
subscription_inactive402Das Nembol-Abo des Shops ist nicht aktiv: Kanäle können weder verbunden noch getrennt werden (POST /channel_connections, POST /channel_accounts/{id}/disconnect). Derselbe Code kann beim Öffnen des Links auch an return_url ankommen
photo_required_for_channel422Ein Produkt ohne Bilder wird auf einem Kanal veröffentlicht, der Bilder verlangt
billing_managed_by_nembol409Ein Abrechnungslink bei einem Shop, der direkt von Nembol abgerechnet wird (billing_source: "manual"): Änderungen laufen über billing@nembol.com
no_items_applied422POST /inventory/batch und POST /products/batch: Kein Eintrag konnte angewendet werden (jede SKU unbekannt, mehrdeutig oder auf einem Produkt, das Aufmerksamkeit erfordert, oder ungültig). Gründe in error.details.rejected_items; nichts wurde geändert
image_unreachable422Eine Bild-url konnte nicht heruntergeladen werden (der Host hat abgelehnt oder die URL ist falsch; param sagt, welches Bild). Verwende eine öffentliche URL oder sende die Datei als base64
channel_not_connected422Veröffentlichen/Delisten oder eine Aktion auf einem Kanal, den der Shop nicht verbunden hat
not_supported_for_channel422Dieser Endpoint funktioniert nur für einige Kanäle. Die Meldung nennt sie
setting_not_supported422Diese Einstellung gibt es bei diesem Kanalkonto nicht. Sein Array writable listet, was geändert werden kann
trial_publish_limit403Das Veröffentlichungslimit der Testphase auf diesem Kanal ist erreicht. Auch pro Eintrag in Batch-Ergebnissen für Angebote. Schließe ein Abo ab, um mehr zu veröffentlichen
sku_not_found / sku_ambiguous422Batch-Eintrag abgelehnt (/inventory/batch, /products/batch): unbekannte SKU oder eine SKU auf mehr als einer Variante (error.details.product_ids listet sie; nichts wurde geschrieben). Behebe das Duplikat oder aktualisiere per ID
images_unsupported_on_batch_updatepro EintragDer Batch-Eintrag passte zu einem bestehenden Produkt, hat aber images gesendet. Aktualisiere seine Bilder mit PATCH /products/{id}
file_too_large / unsupported_file_type422Ein Bild (POST /files oder images[] als base64 oder url) ist größer als 10 MB oder kein JPEG, PNG, WebP oder GIF, z. B. eine URL, die eine HTML-Seite liefert. param sagt, welches Bild
idempotency_key_reused409Derselbe Idempotency-Key mit einem anderen Payload
idempotency_key_in_flight409Der erste Request mit diesem Idempotency-Key läuft noch. Versuche es gleich noch einmal
precondition_failed412expected_updated_at stimmte nicht überein. Lies neu und versuche es erneut
product_still_listed422Löschen abgelehnt: Das Produkt hat noch live geschaltete Angebote. Delist zuerst
order_not_fulfillable422Die Bestellung ist storniert/erstattet und kann nicht als versendet markiert werden
channel_notification_unsupported422Dieser Kanal kann keine Versandbenachrichtigungen empfangen. Versuche es erneut mit notify_channel: false
overrides_not_supported422Bei einem Angebot können vorerst nur overrides.title / overrides.description gesetzt werden. Ein leerer Body synchronisiert neu
listing_not_delistable422Importierte/verknüpfte Angebote gehören dem Kanal
listing_operation_in_progress409Warte auf die laufende Operation und versuche es dann erneut
not_startedpro EintragErgebnis einer Operation: Der Kanal-Job konnte nicht starten, weil eine andere Operation das Angebot übernommen hat. Versuche es erneut
no_price / price_below_minimumpro EintragErgebnis einer Preisanpassung: Das Produkt hat keine Varianten mit Preis, oder der neue Preis läge unter dem Minimum. Für dieses Produkt wurde nichts geändert
channel_errorn/a(in issues[] eines Angebots) Der Kanal hat den letzten Schreibvorgang abgelehnt. Die Meldung ist der Fehler des Kanals. Filtere mit error_contains
import_not_supported422Von diesem Kanal können keine Produkte importiert werden
import_already_running409Ein Import von diesem Kanalkonto oder ein CSV-Import ist bereits eingereiht oder läuft. Warte, bis er abgeschlossen ist
import_still_running / import_already_undone409Import rückgängig machen: Der Import ist noch nicht abgeschlossen oder wurde bereits rückgängig gemacht
promotion_reaches_nothing422Aktionen: Keines der Produkte ist auf den gewählten Kanälen gelistet, die Aktion würde also nichts rabattieren. Veröffentliche sie zuerst oder speichere die Aktion als Entwurf
promotion_conflict409Einige Produkte sind bereits in einer anderen laufenden Aktion. Siehe error.details.product_ids und promotion_ids
promotion_limit_reached403Basic (und eine kostenlose Testphase) führt jeweils eine Aktion gleichzeitig aus (aktiv oder geplant; Entwürfe zählen nicht); ab Pro gibt es kein Limit. Siehe limits.running_promotions in GET /billing. Beende die andere Aktion oder führe ein Upgrade durch
unknown_channel422Aktionen: ein Kanal in channels, auf dem Aktionen nicht laufen. Die Meldung nennt ihn und listet die gültigen
discount_exceeds_price422Aktionen: Ein fester Rabatt ist nicht niedriger als ein abgedeckter Preis. error.details nennt product_id, variant_id, channel und price
promotion_running / promotion_not_running / promotion_reverting409Aktionen: Bearbeiten oder Löschen, während sie läuft (zuerst beenden); Beenden einer Aktion, die nicht läuft; Löschen, während die Kanalpreise noch wiederhergestellt werden (versuche es gleich noch einmal)
plan_upgrade_required403Storefront: Der Plan des Shops enthält diese Funktion nicht
code_exists409Storefront: Ein Rabatt mit diesem Code existiert bereits (param: code)
transition_not_allowed409Storefront-Bestellung: Die Bestellung kann nicht von ihrem aktuellen Status in den gewünschten wechseln
already_refunded / order_not_paid409Erstattung einer Storefront-Bestellung: Es gibt nichts mehr zu erstatten, oder die Bestellung wurde nie bezahlt. Wird vor jeder Bestätigung beantwortet
stripe_refund_failed / paypal_refund_failed502Erstattung einer Storefront-Bestellung: Der Zahlungsanbieter hat sie abgelehnt; die Meldung nennt seinen Grund
sku_required / title_requiredpro EintragDem Batch-Eintrag fehlt die SKU zum Abgleichen / ein Titel zum Erstellen
route_not_found404Kein solcher Endpoint. Sieh in der Referenz nach
rate_limit_exceeded429Bucket leer. Beachte Retry-After
write_quota_exceeded429Tägliches Kontingent für Schreibvorgänge auf Kanälen erreicht
internal_error500Auf unserer Seite ist etwas schiefgelaufen. Versuche es mit Backoff erneut; nenne die request_id, wenn es anhält
channel_unavailable502Der Kanal hat nicht geantwortet oder ist fehlgeschlagen. Versuche es später erneut
confirmation_required409Unumkehrbare Aktion: Zeige confirmation.summary an und wiederhole dann denselben Request mit Nembol-Confirmation. Siehe Rückgängig und Bestätigungen
confirmation_invalid409Das Bestätigungstoken ist verbraucht, abgelaufen oder gehört zu einem anderen Request. Ein neues steht in der Antwort
undo_conflict409Nichts rückgängig gemacht: Jeder Wert wurde seitdem erneut geändert. Siehe error.details
action_already_undone409Die Aktion wurde bereits rückgängig gemacht
not_reversible422Die Aktion lässt sich nicht rückgängig machen; die Meldung sagt, was du stattdessen tun kannst
undo_window_expired422Aktionen lassen sich 30 Tage lang rückgängig machen
product_not_deleted409Wiederherstellung für ein Produkt aufgerufen, das nicht gelöscht ist
product_requires_attention409Das Produkt ist to_verify: Kläre es (POST /products/{id}/resolve oder eine Zusammenführung), bevor du seine Angebote schreibst
product_not_requiring_attention409Resolve für ein Produkt aufgerufen, das nicht to_verify ist
resolution_not_applicable409Diese Lösung passt nicht zum requires_attention.reason des Produkts
still_requires_attention409recheck: Die Kanaleinstellung ist noch nicht behoben. Siehe error.details.reason
confirm_different409Zusammenführen: Die Produkte sehen sich nicht ähnlich. Prüfe error.details.product_ids und sende dann confirm_different: true
same_channel_account422Zusammenführen: Zwei Produkte sind auf demselben Kanalkonto live. Siehe error.details.channels
variants_differ422Zusammenführen: Die Varianten entsprechen sich nicht. Ordne sie mit variant_maps anhand von error.details.matching zu
invalid_choices / too_few / too_many422Zusammenführen: Ein Eintrag in choices passt nicht, oder es sind nicht 2 bis 10 Produkte
product_merged409Wiederherstellung abgelehnt: Das Produkt wurde zusammengeführt. Mach stattdessen die Zusammenführung rückgängig
not_a_partner403Nembol-Account oder Partner-Endpoints, verwendet von einem Shop, der kein Partner ist
not_on_a_sub_account400Du hast Nembol-Account an einen Partner-Endpoint (/accounts, /partner/*) gesendet. Diese arbeiten auf deinem eigenen Partnerkonto: Ruf sie ohne den Header auf
sandbox_limit409Ein Sandbox-Partner hat sein Maximum an offenen Unternehmen erreicht. Schließe zuerst eines
plan_too_small409Das Unternehmen hat mehr Produkte oder Kanalkonten, als der neue Plan erlaubt
account_not_found404Kein Unternehmen mit dieser ID für deinen Partnerschlüssel
billed_by_partner409/billing innerhalb eines Unternehmens aufgerufen: Unternehmen werden dem Partner in Rechnung gestellt
billing_managed_elsewhere422Der Shop wird über Shopify, Wix oder WooCommerce.com abgerechnet. Ändere, kündige oder aktualisiere die Zahlung dort
return_url_not_allowed422return_url muss mit einer für diesen Shop registrierten URL beginnen (POST /redirect_urls)
plan_limits_exceeded422Planwechsel: Der Shop nutzt mehr, als der Zielplan erlaubt. Reduziere die Nutzung oder wähle einen größeren Plan
no_payment_method_yet / no_subscription_yet422Der Shop hat noch keine Stripe-Abrechnung. Schließe zuerst ein Abo ab mit POST /billing/plan_change_link
already_canceled / already_canceling / nothing_to_cancel422Kündigung: Das Abo ist bereits gekündigt, endet bereits zum Periodenende, oder es gibt nichts zu kündigen (Testphase, kein Stripe-Abo)
trial_not_available422Der Shop kann keine Testphase neu starten
billing_provider_error502Stripe oder PayPal hat keine Seite zurückgegeben. 409, wenn PayPal die Änderung ablehnt. Versuche es später erneut
billing_links_unavailable503Abrechnungslinks sind noch nicht verfügbar. Verwalte das Abo im Nembol-Dashboard
account_suspended / account_closed409Schreibvorgänge bei einem gesperrten (Partnerrechnung überfällig) oder geschlossenen Unternehmen
product_limit_reached409Das Produktlimit im Plan des Unternehmens ist erreicht. Ändere seinen Plan oder lösche Produkte
channel_slots_full422Für diesen Kanal ist kein Platz mehr frei. Trenne zuerst ein Konto
plan_channel_not_included403Der Plan des Shops enthält diesen Kanal nicht. Führe ein Upgrade durch, um ihn zu verbinden
channel_not_disconnectable422Der Shop bezahlt sein Nembol-Abo über dieses Konto, daher kann es nicht getrennt werden
connection_not_awaiting_choice409choose bei einer Verbindung, die nicht needs_choice ist
choice_expired410Seit der Anmeldung des Händlers ist mehr als eine Stunde vergangen. Erstelle einen neuen Link
link_expired / link_already_usedn/a(an return_url) Der Verbindungslink ist abgelaufen oder wurde bereits verwendet. Erstelle einen neuen
different_channel_accountn/a(in connection.error und an return_url) Der Händler hat sich bei einem anderen Shop angemeldet als dem, der neu verbunden wird (channel_account_id, oder ein getrenntes Konto, das zurückgeholt wird: reconnects_shop). Nichts wurde geändert. Melde dich bei diesem Shop an oder verbinde den neuen mit new_account: true (ohne channel_account_id)
channel_login_failedn/a(an return_url und in connection.error) Die Anmeldung beim Kanal ist nicht gestartet oder wurde nicht abgeschlossen. Erstelle einen neuen Link
channel_credentials_rejectedn/a(in connection.error) Der Kanal hat die gesendeten Zugangsdaten abgelehnt
plan_not_eligible / subscription_inactive / slot_no_longer_availablen/a(an return_url, Verbindungsfehler) Der Shop kann diesen Kanal nicht mehr verbinden
no_account_to_connectn/a(Verbindungsfehler) Das Kanalkonto des Händlers enthält nichts, was Nembol verbinden kann

Mit der Zeit kommen neue Codes hinzu; behandle unbekannte Codes, indem du auf type zurückfällst.

Zuletzt aktualisiert am 21. Oktober 2026

Brauchst du Hilfe?

Schreib uns, und ein Mensch antwortet, meist innerhalb eines Werktags.

Auf dieser Seite