fix: add tasklistsync, fix get_circles response, update SPEC (v0.2.1)

This commit is contained in:
2026-04-15 13:29:01 +02:00
parent 119a0b577e
commit 8262c8440c
4 changed files with 62 additions and 45 deletions
+30 -22
View File
@@ -78,9 +78,14 @@ für `session_id`.
POST https://api.familywall.com/api/famlistfamily
Content-Type: application/x-www-form-urlencoded
**Body-Parameter:** keine (zu verifizieren beim ersten echten Call)
**Body-Parameter:** keine (verifiziert)
**Response-Struktur:** zu verifizieren beim ersten echten Call
**Response-Struktur (verifiziert):**
```
a00.r.r[] → Kreise
.metaId → eindeutige Kreis-ID
.name → Kreisname
```
### `accgetallfamily` Listen + Tasks abrufen
POST https://api.familywall.com/api/accgetallfamily
@@ -92,25 +97,27 @@ Content-Type: application/x-www-form-urlencoded
|---|---|
| `a01call` | `"taskcategorysync"` |
| `a02call` | `"tasksync"` |
| `a03call` | `"tasklistsync"` |
Hinweis: `partnerScope`, `a03call`, `a03id`, `withStateBean` werden
weggelassen. Falls der Server sie erfordert, beim ersten echten Call
nachbessern.
Hinweis: `partnerScope`, `a03id`, `withStateBean` werden weggelassen.
**Response-Struktur (relevant für v1.0):**
a00.r.r[] → Listen (taskcategorysync)
.metaId → eindeutige Listen-ID
.name → Name (ggf. Systembezeichnung, s.u.)
.taskListType → Typ der Liste
.remainingTaskNumber → offene Einträge (String)
.totalTaskNumber → Gesamteinträge (String)
.<Kreis-Feld> → zu verifizieren beim ersten echten Call
a02.r.r.updatedCreated[] Tasks (tasksync)
.metaId → eindeutige Task-ID
.text → Aufgabentext
.description → optionale Beschreibung
.taskListId → Zugehörigkeit zur Liste (= metaId der Liste)
.complete → "true" / "false" (String, nicht Boolean!)
**Response-Struktur (verifiziert):**
```
a00 → famlistfamily-Daten (Kreise) Nebeneffekt, nicht verwendet
a01.r.r[] → taskcategorysync (Einkaufskategorien/Abteilungen)
a02.r.r.updatedCreated[] → tasksync (Tasks)
.metaId → eindeutige Task-ID
.text → Aufgabentext
.description → optionale Beschreibung
.taskListIdZugehörigkeit zur Liste (= metaId der Liste)
.complete → "true" / "false" (String, nicht Boolean!)
a03.r.r.updatedCreated[] → tasklistsync (Listen)
.metaId → eindeutige Listen-ID
.name → Name (ggf. Systembezeichnung, s.u.)
.taskListType → Typ der Liste
.remainingTaskNumber → offene Einträge (String)
.totalTaskNumber → Gesamteinträge (String)
```
## Systembezeichnungen für Listen-Namen
@@ -134,7 +141,8 @@ offener Punkte (z.B. `type`-Parameter beim Login, Kreis-Felder in Response).
## Noch zu verifizieren
- ~~Exakter Wert für `type`-Parameter beim Login~~ → nicht senden (verifiziert per JS-Analyse)
- Response-Struktur von `famlistfamily` (Kreise)
- Kreis-Zuordnung in `accgetallfamily`-Response
- Ob `partnerScope` / `withStateBean` benötigt werden
- ~~Response-Struktur von `famlistfamily` (Kreise)~~ → a00.r.r[], metaId + name (verifiziert)
- ~~Ob `a03call=tasklistsync` benötigt wird~~ → ja, liefert Listen unter a03.r.r.updatedCreated[] (verifiziert)
- Kreis-Zuordnung in `accgetallfamily`-Response → noch offen (Feld in Listen-Objekten unbekannt)
- ~~Ob `partnerScope` / `withStateBean` benötigt werden~~ → nein (verifiziert)
- Session-Lebensdauer (irrelevant da kein Caching)