Warenwirtschaft: AP-38 dokumentiert — Plan-Abschnitt + Connector-README (Cron)

Shop-Diagnose 28.08. (SSH): Warteliste leer ([]), alles abgearbeitet, Ampel grün.
- Plan V7.0: eigener AP-38-Abschnitt (Diagnose/Ursache/Behebung); Statustabelle
  auf „alle APs erledigt" aktualisiert (nur noch Connector-Rollout v1.6.0 offen).
- Neu: dev/partnercenter-api/README.md — Status-Ampel, Cron einrichten/prüfen
  (wp cron event list/schedule/run), Fehlersuche (Auth/curl), v1.6.0-Änderungen,
  Rollout-Checkliste.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Kevin Adametz 2026-08-28 11:14:53 +00:00
parent b6ca33288c
commit 7da49e2027
2 changed files with 154 additions and 2 deletions

View file

@ -29,9 +29,10 @@ Die mit **`#`** markierten Punkte hat der Kunde als **buggy/dringend** priorisie
| **AP-51** Lagerplatz-Felder Produkte & Verpackung | ✅ erledigt (30d4e28) — Migration auf Dev-/Live-DB |
| **AP-43** Zwischenspeichern (Entwurf) + „abschließen" | ✅ erledigt (abd202a) — Migration `status` auf Dev-/Live-DB |
| **AP-44** Rezeptur-Darstellung (Optik/iPad) | ✅ erledigt (2a6daf2) |
| übrige APs | offen |
| **AP-38** WooCommerce-Ampel (Cron/Auth) | ✅ erledigt (0c8d321 ERP+Connector, b6ca332 Cron-Selbstheilung) — Live-Ursache behoben |
| übrige APs | — |
Suite: **337 grün**. Erledigt: AP-34/35/36/37/39/40/41/42/43/44/45/46/47/48/49/50/51. Offen: nur noch **AP-38** (Ampel, D-3 shopseitig — wartet auf Shop-Prüfung).
Suite: **338 grün**. Erledigt: **AP-34…AP-51 vollständig** (AP-34/35/36/37/38/39/40/41/42/43/44/45/46/47/48/49/50/51). **Keine offenen APs mehr.** Verbleibend nur der **Connector-Rollout v1.6.0** in den Shop (AP-34 + AP-38).
> **AP-43-Hinweis:** „Zwischenspeichern" legt die Produktion als **Entwurf** ab (kein Bestand gebucht, keine Pflichtfeld-Prüfung); erst **„Produktion abschließen"** bucht Roh-/Produkt-/Verpackungsbestand. Entwürfe zählen nirgends in den Bestand. Eine bereits abgeschlossene Produktion kann nicht zurück in den Entwurf.
@ -39,6 +40,21 @@ Suite: **337 grün**. Erledigt: AP-34/35/36/37/39/40/41/42/43/44/45/46/47/48/49/
---
## AP-38 — WooCommerce-Ampel: Diagnose & Behebung (28.08.2026)
**Ergebnis der Shop-Diagnose (SSH, 28.08.2026):** Die orange Ampel war **kein ERP-Fehler**. Das ERP lieferte durchgehend korrekt `sent`/`close` für versendete Bestellungen (Live-DB: 111× `shipped=2`, 1× `shipped=3`).
**Tatsächliche Ursache (shopseitig):** Der stündliche Status-Cron-Hook `partnercenter_api_fetch_orders_status` war in WP-Cron **gar nicht eingeplant** (`wp cron event list | grep partnercenter` → leer). WP-Cron selbst lief einwandfrei (System-Crontab trifft `wp-cron.php` alle 5 Min, `DISABLE_WP_CRON=1` also korrekt kompensiert) — aber ohne eingeplanten Event pollte nichts `/api/wp/status`, sodass jede Bestellung auf ihrem Initialwert `open` (orange) hängen blieb. Grund: Der Event wurde nur im `register_activation_hook` eingeplant und im Deaktivierungs-Hook gelöscht; ein In-Place-Plugin-Update (ohne echte Reaktivierung) ließ ihn dauerhaft verschwinden.
**Behebung:**
1. **Live-Sofortfix (CLI, erledigt 28.08.):** `wp cron event schedule partnercenter_api_fetch_orders_status now hourly`, danach `wp cron event run …`. Ergebnis: **Warteliste `_partnercenter_api_unclear_order_ids` vollständig abgearbeitet (Ausgabe `[]`)** — alle offenen Bestellungen auf den korrekten Status aktualisiert, Ampel grün.
2. **Dauerhafter Code-Fix (Connector v1.6.0, `b6ca332`):** `partnercenter_api_ensure_cron()` auf `init` plant den Event bei jedem Request nach, falls er fehlt → selbstheilend, übersteht künftige Updates. Doku dazu im neuen `dev/partnercenter-api/README.md`.
3. **ERP-/Connector-Mapping-Lücken geschlossen (`0c8d321`):** ERP `shipped=5` (Wartestellung) lieferte bisher `free` (im Shop kein Licht) → jetzt `process` (orange). Connector-Ampel kennt jetzt `pick_up` (Abholung → grün) und `cancel` (storniert → rote Kugel), beide vorher ⚠️; Endzustände fallen aus der stündlichen Warteliste.
**Status:** ✅ Live behoben und dauerhaft im Connector abgesichert. Die Punkte 2 + 3 gehen mit dem **v1.6.0-Rollout** (zusammen mit AP-34) in den Shop; der Live-Betrieb ist durch den CLI-Sofortfix bereits korrekt.
---
## Kurzfazit der Prüfung
- **9 der Punkte sind bestätigte Bugs**, mit klarer Ursache im Code. Der wichtigste (Varianten-Artikelnummer) liegt **zur Hälfte im WooCommerce-Connector**, muss also auch shopseitig ausgerollt werden.