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¶
- Mindestanforderung:
billing.emailundbilling.last_namemüssen gesetzt sein, sonst wird die gesamte Order übersprungen und als Fehler geloggt (kein Anlegen unvollständiger Kunden). - Kunde wird per
billing.emailgesucht. Kein Treffer → neuer Kunde mitsource = wordpress,status = new(unabhängig vom Zahlungsstatus der Order). - Für jedes Element in
line_itemswird dieskugegenservice_definitions.article_numbergematcht. - Kein Treffer → Zeile wird übersprungen und als Fehler geloggt (kein Abbruch der gesamten Bestellung).
- Pro gematchtem Artikel wird eine
CustomerServicemitstatus = orderangelegt (Name/Preis/Zyklus/Typ werden automatisch von der ServiceDefinition übernommen). Die WooCommerce-Bestellnummer wird imnotes-Feld vermerkt, eine vom Kunden im Checkout hinterlegte Bestellanmerkung (customer_note) wird dort zusätzlich angehängt. - Die neue Bestellung erscheint automatisch in der bestehenden Bestellungen-Seite im Admin-Panel — keine gesonderte Ansicht nötig.
- Ist ein Admin-Benachrichtigungs-E-Mail-Empfänger konfiguriert (
shop_admin_emailbzw.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.