← Alle Themen · Anbindungen
In diesem Artikel 9 Kapitel
Anbindungen → OnCommerce (OnBuy)
Zurück zu Anbindungen | Zurück zur Übersicht
Hier verwalten Sie Ihre OnCommerce-Konten (OnBuy UK). Diese Anbindung überträgt Artikel in den OnBuy-Katalog, legt Listings an und hält Bestände synchron. Auftragsimport ist in dieser Phase nicht enthalten und kommt separat.
Konten-Übersicht
Die Tabelle zeigt alle angelegten OnCommerce-Konten:
| Spalte | Beschreibung |
|---|---|
| ID | Interne Konto-ID |
| Name | Vom Benutzer vergebener Kontoname |
| Mandant | Zugehöriger Mandant (siehe Einstellungen → Mandanten) |
| Site | Ziel-Marktplatz. Vorbefüllt: OnBuy Germany (2002, Default), OnBuy UK (2000). Weitere OnCommerce-Länder (France, Netherlands, Austria, Belgium, Denmark, Spain, Finland, Greece, Hungary, Ireland, Italy, Norway, Poland, Portugal, Romania, Sweden, Switzerland, Slovakia, Czech Republic) können über den Button Sites aktualisieren am Konto nachgeladen werden, die aktuelle Liste wird direkt aus OnCommerce gezogen. |
| Modus | Test oder Live. Die Zugangsdaten unterscheiden sich im Seller Control Panel pro Modus. |
| Status | ok / Authentifizierung fehlgeschlagen / Rate Limit / inaktiv |
| Aktiv | Nur aktive Konten werden vom Scheduler bedient. Aktivieren ist nur möglich wenn das Feld-Mapping vollständig ist. |
| Aktionen | Bearbeiten, Mapping, Verbindung testen, Kategorien aktualisieren, Löschen |
Neues Konto anlegen
- + Neues Konto anklicken.
- Name, Mandant (siehe Einstellungen → Mandanten), Site und Modus wählen.
- Consumer-Key und Secret-Key aus dem OnCommerce Seller Control Panel (API-Settings) einfügen.
- Speichern. Konto bleibt zunächst inaktiv.
- Verbindung testen → fordert einen Access-Token an. Erfolg = Status "ok".
- Kategorien aktualisieren → einmalig alle Kategorien der Site in den lokalen Cache ziehen (dauert 30-60 Sekunden). Nötig damit die Pflichtfeld-Validierung Kategorie-Features auflösen kann.
- Zum zentralen Anbindungen → Feld-Mapping wechseln, dort OnCommerce + das Konto wählen und für alle Pflichtfelder eine Quelle setzen (siehe Feld-Mapping).
- Nach vollständigem Mapping Konto auf Aktiv schalten.
Modi
| Modus | Beschreibung |
|---|---|
| Test | OnCommerce stellt isolierte Test-Daten bereit. Zum Entwickeln und Prüfen des Mappings. Keine echten Artikel werden sichtbar. |
| Live | Produktivbetrieb. Vor dem allerersten Live-Produkt verlangt OnCommerce eine manuelle Freigabe über ein Support-Ticket im Seller Control Panel → die UI weist beim Modus-Wechsel darauf hin. |
Hinweis zur IP-Bindung
Der Access-Token von OnCommerce ist an die ausgehende IP-Adresse des Servers gebunden und 15 Minuten gültig. Scanalot cached den Token automatisch pro Konto und erneuert ihn eigenständig. Läuft der Scheduler auf einem anderen Server als die Web-Oberfläche, wird für jede Egress-IP ein eigener Token gezogen. Falls Sie eine feste Egress-IP konfigurieren möchten, setzen Sie ONBUY_EGRESS_IP in der .env.
Feld-Mapping
Das Feld-Mapping für OnCommerce läuft nicht auf der Konto-Seite, sondern zentral unter Anbindungen → Feld-Mapping. Dort wählen Sie oben "OnCommerce" und darunter das jeweilige Konto. Für jedes OnCommerce-Zielfeld pflegen Sie eine Quelle aus dem Scanalot-Katalog.
Verfügbare Quellen (Standard-Scanalot-Quellen)
Die möglichen Quellen sind identisch zum Mapping aller anderen Marktplätze: SKU, Externe ID, Modell, Name/Name2-4, Beschreibung, Hersteller, Attribute, Eigenschaft, Barcode (Typ auswählen), Verkaufspreis (Preis-ID auswählen), Bestand (Lager auswählen), Bild, Alle Bilder, Eigener Text. Details siehe Anbindungen → Feld-Mapping.
Wichtig für OnCommerce: Beim EAN-Feld wählen Sie als Quelle "Barcode" und dann den gewünschten Barcode-Typ aus Artikel → Barcodes → so entscheiden Sie welcher Barcode-Typ als OnCommerce-EAN rausgeht.
Pflicht-Felder
Diese Felder müssen gesetzt sein bevor das Konto aktiv geschaltet werden kann:
| OnCommerce-Feld | Typischer Mapping |
|---|---|
| Kategorie-ID | Statischer Wert via Autocomplete oder Eigenschaft |
| Produktname | Artikel-Feld "Name" |
| Beschreibung | Artikel-Feld "Beschreibung" |
| EAN / Produktcode | Barcode (Typ aus Barcode-Tabelle wählen) |
| Zustand | Statischer Wert "new" oder Artikel-Feld |
| SKU | Artikel-Feld "SKU" |
| Verkaufspreis | Artikel-Feld "Verkaufspreis" oder Eigenschaft |
| Marken-ID oder Markenname | Hersteller-Feld, Eigenschaft oder statischer Wert |
Fehlt eines dieser Pflicht-Mappings, zeigt der Mapping-Dialog oben eine gelbe Warnbox mit der Liste der fehlenden Felder.
Optionale Felder
| OnCommerce-Feld | Beschreibung |
|---|---|
| Kurzbeschreibung, Modellnummer, Gewicht, Länge/Breite/Höhe | Zusatzdaten, zahlen auf das Suchranking ein |
| Bulletpoint 1-5 | Jeweils einzeln mappbar (Property oder statisch) |
| Produktcode-Typ | Standard "ean", bei Bedarf "upc"/"gtin13"/"isbn" |
| Versandgewicht | Listing-Feld |
| Listing-Zustand | Weicht in Ausnahmen vom Produkt-Zustand ab |
| Aktionspreis, Aktion ab/bis | Sale-Price-Fenster |
Bearbeitungszeit (handling_time)
Die Bearbeitungszeit wird nicht über das Feld-Mapping gepflegt, sondern kommt automatisch aus der Lager-Latency des aktiven Lagers (gleiches Pattern wie Amazon). Scanalot sendet den Wert bei jedem regulären Bestand-Sync (handling_time_override) direkt mit, eine Änderung der Latency im Lager-Setup schlägt beim nächsten Stock-Sync (alle 5 Minuten) auf OnCommerce durch.
Bilder
Bilder gehen nicht über das Feld-Mapping. Scanalot zieht automatisch das erste Bild aus Artikel → Bildern nach position. Zusatzbilder werden in späteren Phasen ergänzt.
Wichtig: OnCommerce lädt die Bilder von Ihrer URL. Die URL muss öffentlich erreichbar sein. OnCommerce nennt vier eigene IPs die bei einer Firewall freizugeben sind → siehe aktuelle Hinweise im Seller Control Panel.
Synchronisation
| Funktion | Takt | Beschreibung |
|---|---|---|
| Detektor | alle 5 Minuten | Scannt geänderte Artikel die OnCommerce als Markt haben und legt sie in der Queue ab |
| Produkt-Export | alle 2 Minuten | Verarbeitet die Queue → legt Produkte an, matched EANs gegen bestehende OnCommerce-Produkte und hängt Listings dran |
| Status-Watcher | alle 5 Minuten | Pollt die asynchrone OnCommerce-Queue und schreibt OPC + Status zurück |
| Bestand inkrementell | alle 5 Minuten | Bestand aller geänderten Artikel in Batches à 1000 übertragen |
| Bestand voll | täglich 03:00 Uhr | Kompletter Abgleich aller Bestände |
| Auftragsimport | alle 5 Minuten | Zieht neue OnCommerce-Aufträge im Status Awaiting Dispatch nach Scanalot |
| Versandbestätigung | event-getrieben | Scanalot-Event OnCommerce Versand bestätigen ruft PUT /v2/orders/dispatch auf. Mit gepflegtem Carrier-Mapping zusätzlich PUT /v2/dispatches/tracking für den OnBuy-Carrier-Code. |
Carrier-Mapping
Für die vollständige Versandbestätigung (inkl. OnBuy-Carrier-Code) brauchst du einmalig ein Mapping zwischen deinen Scanalot-Carrier-Namen (z. B. DHL) und den OnBuy-Carrier-Codes.
- Auf der OnCommerce-Konten-Seite den Button Carrier-Mapping öffnen.
- Konto wählen und Carrier aktualisieren klicken, pullt die bei OnBuy registrierten Carrier für die Site des Kontos (häufige Prefixe: DHL, DPD, GLS, UPS, Hermes, Royal, Fedex, TNT, PostNL, USPS, Evri, Yodel).
- Pro OnBuy-Carrier das Feld Scanalot-Carrier (Alias) mit dem Namen füllen den Scanalot in
scanalot_orders_shipments.carrierverwendet. Mehrere OnBuy-Carrier können denselben Alias nicht teilen, pro Alias einen OnBuy-Carrier wählen. - Mapping speichern.
Beim nächsten OnCommerce Versand bestätigen-Event matched Scanalot zuerst gegen den Alias; wenn kein Alias eingetragen ist, fällt der Match auf den OnBuy-Namen zurück. Wenn weder noch greift, läuft Stufe 1 (Dispatch mit supplier_name-Freitext) trotzdem, nur Stufe 2 (expliziter Carrier-Code) wird dann übersprungen.
Ablauf Produktanlage
- Artikel wird in Scanalot gespeichert,
scanalot_items_marketsenthältmarket="onbuy", active=1. - Beim nächsten Detektor-Lauf wird der Artikel in die OnCommerce-Queue geschrieben.
- Export-Worker prüft die EAN → existiert bereits ein OnCommerce-Produkt mit dieser EAN, wird nur das Listing (SKU/Preis/Bestand) daran gehängt.
- Falls das Produkt noch nicht existiert, wird es angelegt. OnCommerce verarbeitet die Anlage asynchron → das kann einige Minuten dauern.
- Status-Watcher pollt den OnCommerce-Fortschritt und speichert die OnCommerce-Produkt-ID (OPC) am Artikel.
- Varianten: Scanalot-Parent-Artikel mit Child-Artikeln werden als Variant-Group übergeben. Fehlt an einem Child ein Wert, nimmt Scanalot automatisch den Parent-Wert.
72-Stunden-Regel
OnCommerce löscht angelegte Produkte automatisch nach 72 Stunden, wenn sie nicht veröffentlicht sind. Scanalot setzt neu angelegte Produkte sofort auf veröffentlicht, sofern das Mapping vollständig ist.
Queue-Status einsehen
Unter Einstellungen → Queues sehen Sie:
- OnCommerce · Produkt-Queue → interne Scanalot-Queue (Create/Update-Jobs vor Übergabe an OnCommerce)
- OnCommerce · Asynchrone Tasks → Spiegel der OnCommerce-Seite (queue_id → OPC-Zuordnung, Status pending/done/failed)
Konto bearbeiten / löschen
- Bearbeiten: Name, Mandant, Site, Modus und Aktiv-Flag jederzeit änderbar. Consumer-Key und Secret-Key sind beim Bearbeiten leer → nur bei Änderung eingeben. Ein Credential-Wechsel invalidiert den gecachten Token automatisch.
- Verbindung testen: Fordert einen frischen Access-Token an. Setzt den Status am Konto.
- Kategorien aktualisieren: Pullt alle Kategorien der Site erneut in den lokalen Cache. Sinnvoll wenn OnCommerce neue Kategorien veröffentlicht hat.
- Löschen: Entfernt Konto, Mapping, Produkt-Zuordnungen und offene Queue-Einträge. Bereits bei OnCommerce angelegte Produkte bleiben dort bestehen.
Troubleshoot
| Problem | Lösung |
|---|---|
| Status "Authentifizierung fehlgeschlagen" | Keys im Seller Control Panel prüfen. Live-Keys ≠ Test-Keys. Nach Keywechsel speichern und erneut testen. |
| Status "Rate Limit" | Scheduler drosselt automatisch. Beim nächsten Lauf wird fortgefahren. Dauerhaft hohe Last → OnCommerce-Ticket zur Rate-Limit-Erhöhung. |
| Mapping unvollständig | Mapping-Dialog öffnen, fehlende Pflichtfelder laut gelber Warnbox füllen. |
| Produkt bleibt im Status "pending" | Status-Watcher läuft alle 5 Minuten. OnCommerce braucht typischerweise bis zu 30 Minuten. Länger als 48 Stunden → wird automatisch als failed markiert. |
| EAN wird nicht übernommen | Prüfen welcher Barcode-Typ im Mapping für "EAN" gewählt ist. Der Artikel braucht einen Barcode genau dieses Typs. |
| Bild wird nicht angezeigt | Die Bild-URL muss öffentlich erreichbar sein. OnCommerce-Bild-IPs müssen in einer vorgelagerten Firewall freigegeben sein. |
Erstes Live-Produkt und Approve-Schritt
Jedes Produkt das Scanalot via API an OnCommerce schickt landet zunächst unter "Approve Products" (Pending Approval) im OnCommerce Seller Control Panel. Erst wenn Sie es dort manuell auf Approve/Publish setzen, werden Preis und Bestand im Marktplatz sichtbar. Das ist ein von OnCommerce vorgegebener Schritt und läuft nicht über die API ab.
Workflow:
- Mit Test-Keys das Mapping prüfen und ein Test-Produkt erfolgreich anlegen lassen (Status "created").
- Konto auf Modus "Live" wechseln, Live-Keys hinterlegen, erneut speichern.
- Konto aktivieren → das Produkt wird angelegt und erscheint im Seller Control Panel unter "Approve Products".
- Beim allerersten Produkt: in OnCommerce ein Support-Ticket aufmachen mit der Bitte, das Konto für Live-Produkt-Anlage freizuschalten. Erst nach OnCommerce-Freigabe erscheint der Approve-Button für Sie überhaupt.
- Nach Konto-Freigabe: Jedes neue Produkt im Seller Control Panel manuell approven → erst dann sind Preis und Stock öffentlich sichtbar, vorher zeigt der Katalog 0,00 € und out of stock.
Scanalot kann diesen Schritt nicht automatisieren. Es gibt keinen offiziellen OnBuy-API-Endpoint zum Approven. Scanalots Job ist mit dem erfolgreichen Queue-Status (
onbuy_product_tasks.status = 'done'+ OPC gesetzt) abgeschlossen.