Appearance
WooCommerce konfigurieren
Shop-Adapter
Diese Seite beschreibt nur WooCommerce-spezifische API- und Shop-Einstellungen. Generischer Ablauf: Verbindungen · Adapter-Übersicht.
Die WooCommerce-Konfiguration verbindet ReadySync mit Ihrem WooCommerce-Shop und ermöglicht die automatische Synchronisation von Produkten, Bestellungen und Status-Updates.
Voraussetzungen
- WooCommerce-Shop mit aktivierter REST API (WooCommerce → Einstellungen → Erweitert → REST API)
- Admin-Zugriff auf Ihren WordPress/WooCommerce-Shop
- Für Bildimport zusätzlich: WordPress Application Password
WooCommerce REST API Zugangsdaten anlegen
- Melden Sie sich in Ihrem WordPress-Backend an.
- Navigieren Sie zu WooCommerce → Einstellungen → Erweitert → REST API.
- Klicken Sie auf „Schlüssel hinzufügen".
- Vergeben Sie eine Beschreibung (z. B. „ReadySync") und wählen Sie den Benutzer sowie die Berechtigungsstufe Lesen/Schreiben.
- Klicken Sie auf „API-Schlüssel generieren".
- Kopieren Sie Consumer Key und Consumer Secret – sie werden nur einmal angezeigt.
Konfiguration in ReadySync
Öffnen Sie die Verbindung und wechseln Sie zum Tab Shop. Tragen Sie folgende Felder ein:
| Feld | Beschreibung |
|---|---|
| Shop-URL | Basis-URL Ihres Shops, z. B. https://ihr-shop.de oder bei Unterverzeichnis-Stage https://ihr-shop.de/staging – ohne abschließenden Schrägstrich, immer HTTPS. |
| Consumer Key | Der generierte Consumer Key (ck_...). |
| Consumer Secret | Das generierte Consumer Secret (cs_...). |
| Steuerklasse | WooCommerce-Steuerklasse für importierte Produkte, z. B. standard, reduced-rate oder zero-rate. Entspricht den in WooCommerce definierten Klassen. |
Unterverzeichnis-Installationen
Liegt der Shop in einem Unterverzeichnis (z. B. /staging als Stage), nutzt ReadySync automatisch die WordPress-Form ?rest_route=/wc/v3/... statt /wp-json/.... Das ist nötig, wenn die Pretty-Permalinks für REST kaputt sind. Optional erzwingen: Config-Feld rest_api_style = query oder pretty.
Zusätzlich hängt ReadySync an /wc/-rest_route-URLs den Marker &wp-json/wc/=1 an. Ohne diesen Substring in der Request-URI überspringt WooCommerce die Consumer-Key-Auth (bekanntes Woo-Verhalten, GH #41191) → 401 cannot_view trotz gültiger Keys.
Staging-Schutz (WP Staging) und 401
Der Verbindungstest verlangt echte WooCommerce-JSON-Antworten (kein HTML nach Redirect).
Wichtig: /wp-json/ auf Unterverzeichnis-Stages (z. B. /staging) kann per 301 von der Stage wegleiten und am Ende HTML 200 liefern. Das war früher ein False-Positive im Verbindungstest – ReadySync folgt solchen Redirects nicht mehr und nutzt ?rest_route= inkl. Auth-Marker.
| Antwort-Code | Bedeutung |
|---|---|
woocommerce_rest_authentication_error | Keys kommen an, werden aber abgelehnt → Keys in dieser Stage neu anlegen und in ReadySync speichern. |
woocommerce_rest_cannot_view | Request erreicht Woo als anonym. Ohne ReadySync-Marker: Woo-Auth läuft bei rest_route nicht. Sonst: is_ssl, CGI/Authorization, oder Keys fehlen in diesem Shop. WP-Staging-Login am Storefront ist davon getrennt. |
Server-seitig optional: Pretty-Permalinks für /staging/wp-json/ reparieren (kein 301 auf die Live-Domain), .htaccess HTTP_AUTHORIZATION durchreichen, HTTPS in PHP setzen. WP Staging Storefront-Login blockiert REST per rest_route nicht.
Bild-Upload (WordPress Application Password)
WooCommerce API-Schlüssel autorisieren keinen direkten Zugriff auf die WordPress-Medienbibliothek. Für den Bildimport wird ein WordPress Application Password benötigt.
Application Password anlegen
- Melden Sie sich in WordPress an und öffnen Sie Benutzer → Profil.
- Scrollen Sie zum Abschnitt „Application Passwords".
- Geben Sie einen Namen ein (z. B. „ReadySync Medien") und klicken Sie auf „Neues Application Password hinzufügen".
- Das Passwort wird nur einmal angezeigt – kopieren Sie es sofort.
Tragen Sie dann folgende Felder in ReadySync ein:
| Feld | Beschreibung |
|---|---|
| WordPress-Benutzername | Ihr WordPress-Benutzername (Admin). |
| Application Password | Das generierte Application Password (Format: xxxx xxxx xxxx xxxx xxxx xxxx). |
Hinweis
Ohne Application Password wird der Bildimport automatisch übersprungen. Produktdaten (Name, Preis, Bestand) werden trotzdem synchronisiert.
Bestellexport
Im Abschnitt „Bestellexport" konfigurieren Sie, welche Bestellungen exportiert werden:
| Feld | Beschreibung |
|---|---|
| Bestellstatus (Filter) | Nur Bestellungen mit diesem WooCommerce-Status werden exportiert. Standard: processing (In Bearbeitung). |
| Neuer Status nach Export | WooCommerce-Status, der nach dem Export gesetzt wird – verhindert mehrfachen Export. Empfehlung: on-hold. Leer lassen für keine Statusänderung. |
Versandkosten im ERP-Export
ReadySync liest WooCommerce-Versandkosten aus shipping_lines (Summe der total-Werte, Label = erster method_title) bzw. aus shipping_total, wenn keine Lines vorhanden sind. Betrag > 0 landet als shipping_costs auf der kanonischen Bestellung; das HQS-Plugin erzeugt daraus die Versandposition (Standardartikel VERSAND, oder die unter ERP → HQS hinterlegte Versandkosten-Artikelnummer). Netto wie bei den Positionspreisen – Steuer bleibt bei HQS über den Artikel.
WooCommerce-Status-Übersicht
| Status | Bezeichnung |
|---|---|
pending | Ausstehend |
processing | In Bearbeitung |
on-hold | Wartend |
completed | Abgeschlossen |
cancelled | Storniert |
refunded | Erstattet |
failed | Fehlgeschlagen |
Status-Updates aus dem ERP
Wenn ReadySync Status-Updates aus Ihrer ERP-Statusdatei in WooCommerce einspielt, muss der Statuswert in der ERP-Datei einem gültigen WooCommerce-Status-String entsprechen (z. B. completed, on-hold).
Die ERP-Statusdatei enthält typischerweise Zeilen im Format Bestellnummer;StatusWert. ReadySync verwendet den Statuswert direkt als WooCommerce-Status. Ungültige Werte werden übersprungen und im Job-Log protokolliert.
Nächste Schritte
- Mapping einrichten – Quellfelder aus Ihrer Import-Datei WooCommerce-Produktfeldern zuordnen
- Import starten – Delta- oder Vollimport ausführen
- Verbindung testen – Shop-Verbindung prüfen