Zum Inhalt

WooCommerce Webhook

Endpunkt zur Übernahme von WooCommerce-Bestellungen als Kunde + Bestellung (Bestellungen-Seite) in HostAdmin.

Endpunkt

Methode Endpunkt Beschreibung
POST /api/woocommerce/webhook WooCommerce Webhook Events empfangen

Keine Bearer-Token-Authentifizierung

Dieser Endpunkt verwendet keine API-Token-Authentifizierung. Die Verifizierung erfolgt ausschliesslich über die WooCommerce-Signatur (X-WC-Webhook-Signature Header).

Verarbeitetes Event

Topic Bedingung Beschreibung
order.updated status == completed Bestellung abgeschlossen → Kunde matchen/anlegen, Services (Status order) anlegen

Alle anderen Topics bzw. Status werden geloggt, aber nicht verarbeitet (Antwort 200 {"status":"ignored"}).

Verarbeitung

  1. Mindestanforderung: billing.email und billing.last_name müssen gesetzt sein, sonst wird die gesamte Order übersprungen und als Fehler geloggt (kein Anlegen unvollständiger Kunden).
  2. Kunde wird per billing.email gesucht. Kein Treffer → neuer Kunde mit source = wordpress, status = new (unabhängig vom Zahlungsstatus der Order).
  3. Für jedes Element in line_items wird die sku gegen service_definitions.article_number gematcht.
  4. Kein Treffer → Zeile wird übersprungen und als Fehler geloggt (kein Abbruch der gesamten Bestellung).
  5. Pro gematchtem Artikel wird eine CustomerService mit status = order angelegt (Name/Preis/Zyklus/Typ werden automatisch von der ServiceDefinition übernommen). Die WooCommerce-Bestellnummer wird im notes-Feld vermerkt, eine vom Kunden im Checkout hinterlegte Bestellanmerkung (customer_note) wird dort zusätzlich angehängt.
  6. Die neue Bestellung erscheint automatisch in der bestehenden Bestellungen-Seite im Admin-Panel — keine gesonderte Ansicht nötig.
  7. Ist ein Admin-Benachrichtigungs-E-Mail-Empfänger konfiguriert (shop_admin_email bzw. company_email), wird er per E-Mail über die neue Bestellung informiert.

Domain-Artikel

Das domain-Feld wird beim WooCommerce-Import nicht automatisch befüllt (anders als beim internen Shop-Checkout). Domain-Angaben müssen bei Bedarf manuell in HostAdmin nachgetragen werden.

Einrichtung

Details zur Einrichtung siehe WooCommerce Webhook Setup.