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

Ein Produkt bearbeiten: Was die Kanäle tatsächlich erreicht

Dein PATCH aktualisiert immer Nembol; was an die einzelnen Kanäle weitergegeben wird, bestimmen die Sync-Einstellungen des Verkäufers.

PATCH /products/{id} (und die Varianten-/Bestands-Endpoints) aktualisieren immer Nembol, synchron, und die Antwort spiegelt das wider. Ob die Änderung danach jeden Kanal erreicht, ist eine andere Frage. Das bestimmen die Sync-Einstellungen des Verkäufers pro Kanal im Nembol-Dashboard.

Neue Konten starten mit allen Schaltern aus

Auf jedem Kanal hat ein neu verbundenes Konto alle Sync-Schalter aus (false), über die API genauso wie im Dashboard. Schalte die ein, die der Händler möchte, mit PATCH /channel_accounts/{id} (siehe unten).

Der Schalter „Aktualisierungen an (Kanal) senden“ (pro Kanal)

Jede Kanalverbindung hat eine Einstellung Aktualisierungen an (Kanal) senden. Ist sie beim Kanal eines Angebots:

  • AN: Die Änderung wird vollständig weitergegeben: Inhalt, Preis und Menge werden an den Kanal übertragen.
  • AUS: Nembol überträgt nur die Menge (der Kanal behält seinen eigenen Inhalt und Preis; kleine Unterschiede je Kanal: OnBuy überträgt weiterhin Preis und Bestand, Google Merchant Center nur die Verfügbarkeit).

Das ist eine Entscheidung des Verkäufers, kein Fehler: Viele Händler pflegen Inhalte direkt auf einem Kanal und nutzen Nembol nur für den Bestand.

Warum das für deine Integration wichtig ist

Du kannst einen Titel per PATCH ändern, ein 200 erhalten, sehen, wie die Operation erfolgreich ist, und trotzdem den alten Titel auf dem Kanal sehen, weil der Job zu Recht nur die Menge übertragen hat. Wenn eine Inhaltsänderung auf einem Kanal „nicht angekommen“ ist:

  1. Nicht wiederholen. Die API hat genau das getan, was der Verkäufer konfiguriert hat.
  2. Bitte den Händler, in seinem Dashboard Kanäle → (Kanal) → Aktualisierungen an (Kanal) senden zu prüfen.
  3. Sobald die Einstellung aktiv ist, erzwinge eine erneute Übertragung mit PATCH /listings/{id} und einem leeren Body (eine einfache Neusynchronisierung).

Änderungen können auch in die andere Richtung fließen

Verkäufer können einen Kanal (Shopify oder WooCommerce) zu ihrem Leitkanal (Content-Leader) bestimmen: Änderungen auf diesem Kanal fließen in Nembol und von dort zu den anderen Kanälen. Ist das aktiv, können Inhalte, die deine Integration schreibt, zu Recht durch die Änderungen des Verkäufers auf dem Kanal überschrieben werden. Beim Bestand fließen Mengenänderungen und Verkäufe auf dem Kanal gemäß ihren eigenen Schaltern pro Kanal in Nembol.

Faustregel: Nembol ist die Zentrale, aber der Verkäufer bestimmt die Richtung jeder Leitung. Geht deine Integration davon aus, dass sie als Einzige schreibt, vereinbare mit dem Händler, welche Schalter aus bleiben.

Texte pro Kanal

Ein Angebot kann einen eigenen Titel und eine eigene Beschreibung haben (overrides am Angebot; jedes importierte Angebot startet mit den Texten des Kanals). Der Kanal erhält den Text des Angebots, wo er gesetzt ist, andernfalls den des Produkts (siehe Listing.content).

  • PATCH /products/{id} ändert die Texte des Produkts. Bei einem Produkt mit einem Angebot folgt dieses Angebot; bei mehreren behalten Angebote mit eigenem Text diesen.
  • PATCH /listings/{id} mit overrides.title / overrides.description setzt die Texte eines Kanals; null lässt ihn wieder die des Produkts verwenden.
  • Ein Leitkanal ersetzt die Texte des Produkts und die eigenen Texte jedes Angebots. Um den Inhalt eines Kanals unangetastet zu lassen, schalte auf diesem Kanal Aktualisierungen an (Kanal) senden aus (Preis und Bestand werden weiterhin synchronisiert).

Stolperfallen

  • Preise können auf dem Weg nach außen umgerechnet werden. Preisregeln pro Kanal (prozentuale/feste Anpassungen) gelten beim Übertragen. Weicht der Kanalpreis von deinem PATCH ab, ist das also zu erwarten, wenn Regeln gesetzt sind.
  • Die Menge wird immer synchronisiert (sie ist das Einzige, was jeder Modus überträgt). Bewegt sich nicht einmal die Menge, ist das ein echter Fehler: Prüfe die issues[] des Angebots und die Operation.
  • Diese Einstellungen gelten pro Kanalkonto. Ein eBay-Konto kann voll synchronisieren, während ein zweites nur die Menge überträgt.

Die Schalter über die API lesen

Du musst den Händler nicht fragen: Jeder Eintrag von GET /channel_accounts enthält die Schalter:

{
  "id": "chac_66a1f09b2",
  "channel": "ebay",
  "sync": {
    // Nembol pushes content + price + quantity to this channel.
    // false = quantity only; the channel keeps its own content and
    // price (two exceptions: OnBuy still gets price+stock, Google
    // Merchant Center only availability).
    "product_edits": true,

    // Sales on this channel adjust stock everywhere.
    "quantity_from_orders": true,

    // Quantity edited directly ON the channel flows back into Nembol.
    // null = the switch isn't there (channel doesn't have it, or an older
    // account never stored it): it behaves as off. New accounts start false.
    "quantity_from_channel_edits": null,

    // true would make this channel the CONTENT LEADER: its edits
    // overwrite Nembol content (at most one channel per store).
    "content_from_channel_edits": null,

    // Orders received here are transferred to the store's fulfillment
    // channel (at most one channel per store).
    "transfer_orders": null
  },

  // Price rule applied when Nembol pushes prices to this channel:
  // here every price goes out +10%, rounded to .99. This is why the
  // channel price can legitimately differ from what you PATCH.
  "pricing": {"mode": "percentage", "value": 10, "rounding": true},

  // Quantity cap: the channel shows at most 5 units even with 40 on
  // hand. (On Google Merchant Center, which only gets availability, the
  // threshold is a MINIMUM: in stock only while quantity >= threshold.)
  "inventory": {"control": true, "threshold": 5},

  // What can be changed on THIS account with PATCH (varies by channel).
  "writable": ["sync.product_edits", "sync.quantity_from_orders", "pricing.mode", "…"]
}

Die Schalter über die API ändern

Mit einem Schlüssel, der den Scope channels:write hat, ändert PATCH /channel_accounts/{id} dieselben Schalter, die der Händler im Dashboard sieht, mit denselben Auswirkungen. Sende nur, was du änderst:

curl -X PATCH https://api.nembol.com/rest/v1/channel_accounts/chac_66a1f09b2 \
  -H "Authorization: Bearer $NEMBOL_KEY" \
  -H "Content-Type: application/json" \
  -d '{"pricing": {"mode": "percentage", "value": 10, "rounding": true},
       "inventory": {"control": true, "threshold": 5}}'
  • Alles, was nicht in writable des Kontos steht, schlägt mit 422 setting_not_supported fehl.
  • content_from_channel_edits und transfer_orders sind pro Shop exklusiv: Schaltest du sie bei einem Konto ein, werden sie bei jedem anderen Konto ausgeschaltet.
  • Kanal-Standardwerte (eBay-Geschäftsrichtlinien, Etsy-Versandprofile und Rückgaberichtlinien, Shopify-Kollektion) gehören in defaults, mit IDs aus GET .../policies und GET .../collections. Bei eBay sagt dir policy_validation, ob eBay die gewählten Richtlinien akzeptiert.

Jede Änderung rückgängig machen

Jede Änderung, ob über die API oder im Dashboard, sendet ein channel_account.updated-Event. Sein previous_attributes enthält den alten Wert jedes geänderten Felds; sende ihn unverändert zurück, um die Änderung rückgängig zu machen:

// event data
{
  "object": { "id": "chac_66a1f09b2", "…": "…" },
  "source": "api",
  "previous_attributes": {"pricing": {"mode": "off", "value": null}}
}
// undo
PATCH /channel_accounts/chac_66a1f09b2
{"pricing": {"mode": "off", "value": null}}

Diese Schalter entscheiden, wem der Inhalt eines Kanals gehört: Wenn du sie im Namen eines Händlers änderst, sag es ihm. Details Feld für Feld findest du im Modell Channel account.

Zuletzt aktualisiert am 20. Oktober 2026

Brauchst du Hilfe?

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

Auf dieser Seite