Social Media Freigabe (Outstand)
Fanpage Karma wird durch CockpitOS Freigabe + Outstand Publish ersetzt.
Rollen
Freigabe: Center Manager, Org-Marketing, Center-Admin, Super-Admin (über API geprüft).
Center Manager
- Landing:
/dashboard/center-manager— KPIs, Freigabe-Kurzliste, Schnellfreigabe (Feed mit ≤1 Medium) - Social Hub: Sidebar Social Cockpit — alles gebündelt (siehe unten)
Social Cockpit (Modul social-cockpit)
Alles an einem Ort unter Social Cockpit in der Sidebar (eigenes Modul, wie Mall Cockpit):
| Menü | Pfad | Funktion |
|---|---|---|
| Übersicht | /dashboard/social | Hub mit Kacheln zu allen Bereichen |
| Kanäle verknüpfen | /dashboard/settings/social-accounts | Outstand-Profile pro Center |
| Post erstellen | /dashboard/social/new | Post anlegen |
| Freigaben | /dashboard/social/approvals | Social-Freigaben (4 Status-Spalten) |
| Engage | /dashboard/social/engage | Likes & Kommentare pro Cockpit-Post (Outstand Analytics + Replies), Antworten schreiben |
| Reporting & Analytics | /dashboard/social/reporting | Metriken & Follower |
Engage: Pro veröffentlichtem Post werden Likes, Kommentar- und Share-Zähler über Outstand Analytics geladen; Kommentartexte über die Replies-API. Outstand nutzt dabei die veröffentlichten Kanäle aus dem Post-Detail (wichtig für Facebook-Seiten ohne @username — Seitenname/nickname). Nur Posts, die über Cockpit/Outstand veröffentlicht wurden. Metriken können bei frischen Posts kurz verzögert sein — Aktualisieren klicken.
Outstand-Datenfluss: Publish → Outstand (/v1/posts/ + Media-Confirm) → Outstand sync schreibt Account- & Post-Metriken in die DB → Reporting, Engage und Dashboard-Home lesen daraus (Follower-Zuwachs, Monats-Reichweite, Interaktionen, Top-Post).
Reporting & Plattform-Hinweise
- Reporting:
/dashboard/social/reporting— Kern-KPIs oben:- Follower & Zuwachs (Summe aller verknüpften Kanäle, Delta zwischen erstem und letztem Snapshot im Sync-Zeitraum)
- Reichweite (Summe Reach aller Posts im laufenden Kalendermonat; Fallback Impressions wenn Reach fehlt)
- Top-Post des Monats (stärkster Post im Kalendermonat nach Reach → Impressions → Interaktionen)
- Interaktionen (eigene Karte): Likes, Kommentare und Geteilt als Monatssumme über alle synchronisierten Posts; in der Post-Liste pro Eintrag dieselben Werte im Detail
- Dashboard-Home: Zeigt neben Reichweite auch die Monats-Interaktionen (Likes · Kommentare · Geteilt) mit Link zum Reporting
- Outstand sync lädt frische Metriken von Outstand in die DB — ohne Sync bleiben KPIs leer oder veraltet
- Bluesky: Outstand liefert derzeit eingeschränkte Metriken und Kommentare
- Detail-Freigabe: Story/Karussell/Reel immer im Workflow prüfen
Workflow
Social-Posts haben eine eigene Freigabe-Ansicht unter /dashboard/social/approvals (nicht mehr in der Website-Workflow-Liste vermischt).
Vier Bereiche:
- Zur Freigabe —
in_review, wartet auf Center/Marketing - Überarbeitung — abgelehnt, mit Grund; Button Erneut zur Freigabe
- Entwürfe — noch nicht eingereicht
- Live & geplant — veröffentlicht oder terminiert
Pro Karte: Vorschaubild, Editor, Freigabe-Link, Freigeben / Ablehnen (für berechtigte Rollen).
Website-Freigaben bleiben unter /dashboard/workflow.
Im Content Planner (/dashboard/content/planner) erscheinen Social-Posts am geplanten Termin (scheduledAt) bzw. Veröffentlichungsdatum — Filter-Chip Social.
- Neu anlegen: Sidebar Social Cockpit → Post erstellen oder
/dashboard/social/new - Bearbeiten: In der Workflow-Liste Editor oder
/dashboard/social/[draftId] - Editor (
/dashboard/social/new): zweispaltiges Layout (volle Seitenbreite) — Center für diesen Post unabhängig vom Header-Switcher wählen- Organisation filtern → Alle wählen oder einzelne Center per Checkbox ab-/auswählen
- Kanäle beziehen sich nur auf die im Editor gewählten Center; fehlende Outstand-Profile werden pro Center mit Link zum Reiter Social Media genannt
- Veröffentlichen (für Freigabe-Rollen direkt an Outstand), Zur Freigabe, Entwurf
- KI Caption: Stichworte eingeben → Button Caption — Text orientiert sich an den im Editor gewählten Centern (Name, Stadt, Beschreibung); ohne Center-Auswahl bleibt der Text bewusst allgemein (System-Prompt
socialCaptionGenerator) - KI Bild: FAL AI (
FAL_API_KEY) — Button Bild (FAL); optional eigene Bildidee - Medien: Mediathek + Upload; Mini-Vorschau inline
- Termin & Format (aufklappbar): Post-Typ, geplante Veröffentlichung
- Aus Dispatch: E-Mail → Entwurf → Tab Social Media
Nach Freigabe: Outstand POST /v1/posts/ — Medien werden als containers[].media mit { url, filename } übergeben (öffentliche CDN-URL aus dem Entwurf). Outstand lädt das Bild selbst; der frühere mediaIds-Pfad reichte für die API nicht aus und führte zu Text-only-Posts. Scheduling optional. Fehlgeschlagene Publish-Versuche (status: failed) können erneut freigegeben werden.
Hinweis: Caption-Änderungen im Workflow speichern die vorhandenen Medien im Entwurf (kein versehentliches Entfernen beim PATCH ohne containers).
Freigabe-Link (ohne Login)
Für Center Manager / Marketing, die kein Cockpit-Konto haben:
- Workflow & Freigaben → Social-Post in Prüfung → Button Freigabe-Link (neben Editor / Kundenkontakt)
- Link wird erzeugt und in die Zwischenablage kopiert — Format:
/freigabe/social/[token] - Empfänger öffnet die gebrandete Vorschauseite (Center-Logo, Farben) und kann freigeben oder ablehnen
- Link ist 30 Tage gültig; bei Ablauf im Workflow einen neuen Link erzeugen
- Rückmeldung an die Redaktion: Der Ersteller (
createdBy) erhält E-Mail (Resend) und eine Benachrichtigung in der Glocke (Header) — mit Ablehnungsgrund bzw. Freigabe-Hinweis und Link zum Post/Workflow. Sichtbar auch im Social-Editor und unter Workflow → Erledigt.
Hinweis: Kundenkontakt ist kein Freigabe-Link — dort generiert die KI nur einen E-Mail-Textvorschlag für Mieter/Kunden.
Technisch:
POST /api/social/drafts/[draftId]/review-link— Link erzeugen (Session)GET/POST /api/social/review/[token]— Vorschau / Freigabe / Ablehnung (öffentlich, tokenbasiert)GET/PUT /api/notifications— Cockpit-Glocke (persistente Benachrichtigungen pro Nutzer)
Benachrichtigungen (Glocke)
Die Glocke in der oberen Leiste zeigt ungelesene Workflow-Hinweise (z. B. Social-Freigabe über externen Link). Vollständige Liste: Benachrichtigungen (/dashboard/notifications). Technisch: Tabelle dashboard_notifications — Migration 20260521180000_add_dashboard_notifications_SAFE.sql.
Verlauf (Timeline)
Unter Social-Freigaben (Karte aufklappen) und im Social-Editor (Seitenleiste) erscheint der Verlauf pro Post: Erstellung, Freigabe-Link, Einreichung, Freigabe/Ablehnung, Veröffentlichung. Technisch: Tabelle social_post_draft_events — Migration 20260521190000_add_social_draft_events_SAFE.sql, API GET /api/social/drafts/[draftId]/events.
Im Dashboard (für Redaktion):
- Empfohlen: Shopping Center öffnen → Center wählen → Reiter Social Media
(/dashboard/content/centers/[centerId]?tab=social) - Alternativ: Sidebar Organisation & Center → Social Media Profile
(/dashboard/settings/social-accounts) — dort Center wählen und Profile verknüpfen
Pro Center Outstand-Profile (Facebook, Instagram, …) zuordnen. Beim Anlegen von Social-Entwürfen werden verknüpfte Profile vorausgewählt.
Technisch: Tabelle center_social_accounts, APIs:
GET/PUT/DELETE /api/social/center-accountsGET /api/social/outstand-accounts— verbundene Outstand-Konten
Ohne Mapping werden beim Anlegen keine Accounts vorausgewählt.
Env
OUTSTAND_API_KEY— org-weit (Render Dashboard-Service)FAL_API_KEY— Bildgenerierung im Social-Editor (FAL / flux-schnell)- OpenAI (oder konfigurierter Provider) — Caption-KI über bestehende AI-Einstellungen
Migration
Additive Tabellen: 20260521160000_add_social_outstand_SAFE.sql
Nutzungsstatistik: Seitenaufrufe werden anonymisiert erfasst. Im Umami-Dashboard nach diesem Pfad filtern: /en/dashboard/social-media-freigabe