Aus dem Englischen übersetzt. Bei Abweichungen gilt die englische Seite. Auf Englisch lesen
Event-Katalog
Jeder Event-Typ, wann er ausgelöst wird und was in data.object steht.
| Event | Wird ausgelöst, wenn | data.object |
|---|---|---|
order.created | Eine neue Bestellung von einem beliebigen Kanal übernommen wird (Poller oder Kanal-Webhook). Genau eines pro Kanalbestellung, egal wie viele Positionen sie hat (alle stehen im Payload) | Bestellung |
order.status_changed | Sich der normalisierte status einer Bestellung ändert (z. B. awaiting_shipment → shipped, → canceled). Ein Event pro Änderung: Eine neue Sendungsverfolgung, ein Abwicklungsdetail oder source_status allein lösen es nicht aus (lies die Bestellung neu, wenn du diese brauchst) | Bestellung. data.status ist der Status nach der Änderung, data.previous_status der vorherige; sie unterscheiden sich immer |
product.updated | Sich der Inhalt eines Produkts ändert, über das Dashboard, die API oder eine übernommene Bearbeitung auf Kanalseite | Produkt |
product.deleted | Ein Produkt gelöscht wird | { "id": … } |
inventory.updated | Sich Menge oder Preis einer Variante durch einen Verkauf auf einem beliebigen Kanal ändert (data.source: "order", ein Event pro Bestellposition, mit data.channel, data.order_id_on_channel, der verkauften data.variant_id / data.sku und data.quantity_change, z. B. -1) oder über die API (data.source: "api"). Eine Stornierung einer solchen Bestellung vor dem Versand gibt die Einheiten zurück (data.source: "order", data.reason: "order_canceled", positives data.quantity_change). Mengenänderungen im Dashboard oder direkt auf einem Kanal lösen es noch nicht aus: Lies GET /products neu, wenn du diese brauchst | Produkt (mit aktualisierten variants[]) |
listing.status_changed | Ein Angebot einen neuen abgeschlossenen Status erreicht: listed, imported, error oder delisted. Ein Event pro Änderung, nie für einen Schreibvorgang, der den Status beibehält. ongoing (Veröffentlichen oder Delisten läuft) wird nicht gemeldet: Die Operation verfolgt es | Angebot (das eine Angebot, das sich geändert hat). data.status ist der neue Status, data.previous_status der zuletzt gemeldete, sodass aufeinanderfolgende Events immer aneinander anschließen (listed → delisted → listed). null nur beim ersten Event eines Angebots |
operation.completed | Eine asynchrone Operation endet (succeeded, partial oder failed). Abonniere dies, statt /operations abzufragen | Operation |
channel_account.updated | Sich die Einstellungen eines Kanalkontos ändern, über das Dashboard oder die API (ein Event pro geändertem Konto). data.source ist dashboard oder api; data.previous_attributes enthält die alten Werte. Setze sie per PATCH zurück, um die Änderung rückgängig zu machen | Kanalkonto |
channel_account.connected | Ein über die API verbundenes Kanalkonto die Verbindung abgeschlossen hat (data.connection_id) | Kanalkonto |
channel_account.disconnected | Ein Kanalkonto getrennt wurde, über das Dashboard oder die API (data.source) | Kanalkonto (ID + Kanal, status: disconnected) |
Mit der Zeit kommen neue Event-Typen hinzu. Konsumenten müssen unbekannte
type-Werte tolerieren (protokollieren und bestätigen).
Welche Events brauche ich?
- Bestellsynchronisierung in dein System →
order.created+order.status_changed. - Bestandssynchronisierung zurück in dein System →
inventory.updated(wird bei Verkäufen auf jedem Kanal ausgelöst; so hältst du ein externes Lager synchron). - „Ist mein Produkt live?“ →
listing.status_changed(oderoperation.completednach einer Veröffentlichung). - Fire-and-forget-Schreibvorgänge →
operation.completed, um das Ergebnis pro Kanal ohne Abfragen zu erhalten. - Audit / Rückgängigmachen von Kanaleinstellungen →
channel_account.updated. - Wissen, wann ein Händler die Verbindung eines Kanals abgeschlossen hat →
channel_account.connected(undchannel_account.disconnected).
Zuletzt aktualisiert am 20. Oktober 2026
Brauchst du Hilfe?
Schreib uns, und ein Mensch antwortet, meist innerhalb eines Werktags.