diff --git a/SPEC.md b/SPEC.md index 11dd983..b33c2dc 100644 --- a/SPEC.md +++ b/SPEC.md @@ -682,9 +682,55 @@ Premium accounts have additional categories beyond the 5 available in free tier. **Limitation:** Currently no API endpoint to list all available categories. Categories are discovered by examining existing recipes or hardcoding known IDs. +### `metamood` – Rezept-Reaktion (Stern setzen) +POST https://api.familywall.com/api/metamood + +**Body-Parameter:** + +| Parameter | Pflicht | Wert | +|---|---|---| +| `id` | ja | Rezept-metaId ⚠️ nicht `metaId`! | +| `moodType` | nein | `"STAR"`, `"LIKE"`, `"BEST_MOMENT"`, ... (Wert wird angenommen aber ignoriert) | + +**Response:** +``` +a00.r.r → Rezept-Objekt (FiZClassId: "8004") + .metaId → Rezept-ID + .isFavorite → aktueller Wert (unverändert) + .moodStarShortcut → aktueller Wert (unverändert) + .moodMap → aktueller Wert (unverändert) +``` + +**Bekannte Einschränkungen:** +- Eigene Rezepte können nicht reagiert werden (Self-Reaction-Restriction, analog zu `wallmood`) +- Der Endpoint akzeptiert Requests (HTTP 200, kein Fehler), verändert aber bei eigenen Rezepten keinen State +- `FiZClassId: "8004"` im Response deutet auf "verarbeitet aber nicht geändert" hin +- Möglicherweise funktioniert der Endpoint für Rezepte anderer Familienmitglieder (nicht testbar mit Einzel-Account) + +**Entdeckt:** 2026-04-17 via FW_DEBUG=1 Probing + +### `mpstar` – Rezept als Favorit markieren (Service Worker blockiert) +POST https://api.familywall.com/api/mpstar + +**Status:** Nicht direkt zugänglich. Der Server antwortet mit `"The call mpstar is not registered"`. +Der Browser-Aufruf `data-fw-onclick="mpstar"` wird vom Service Worker abgefangen und transformiert, +bevor er den Server erreicht. Die Transformation ist ohne Service-Worker-Analyse nicht bekannt. + +**Hypothesen zum echten Endpoint:** +- Könnte eine transformierte Form von `metamood` sein (mit Verschlüsselung/Token) +- Könnte ein separater "Lesezeichen"-Endpoint sein der `isFavorite` setzt (vs. `moodMap`-Stern) +- Könnte Premium-only sein + +**Zum Entsperren nötig:** +- Service-Worker-Quellcode analysieren (DevTools Application > Service Workers > Source) +- ODER: `FW_DEBUG=1` auf einem echten Multi-User-Account mit Rezepten anderer Mitglieder testen + +**Entdeckt:** 2026-04-17 via FW_DEBUG=1 Probing (ausgiebige Endpoint-Suche) + ## Offene Punkte - Unlike-Endpoint (Service Worker blockiert Analyse) +- `mpstar` / `isFavorite` für Rezepte (Service Worker blockiert Analyse, siehe oben) - Erinnerungen (reminder) – nur Premium-Account - Wiederholungen (repeat) – nur Premium-Account - Rezept-Kategorien-Listing-Endpoint (derzeit keine API, müssen aus Rezepten extrahiert werden)