fooz ist ein leichtgewichtiges Gamification-Overlay für deine Website: Du definierst Achievements im Dashboard, wir liefern dir ein Steam-artiges Toast-UI, das du mit einer einfachen API auslösen kannst.
1. Projekt & API-Key anlegen
1. Registriere dich auf fooz.de und logge dich ein.
2. Lege im Dashboard ein neues Projekt an.
3. Du erhältst einen API-Key und ein fertiges Integrations-Snippet.
2. fooz.js einbinden
Füge auf deiner Seite (z. B. im <head> oder vor dem schließenden
</body>) den Script-Tag hinzu:
<script src="https://fooz.de/fooz.js"></script>
<script>
fooz.init({
apiKey: '<DEIN_API_KEY_AUS_DEM_DASHBOARD>',
userId: '<USER_ID_AUS_DEINEM_SYSTEM>',
apiEndpoint: 'https://fooz.de/api/unlock.php',
theme: {
position: 'top-right', // top-right | top-left | bottom-right | bottom-left
variant: 'dark', // dark | light
duration: 4000 // Anzeigedauer in ms
}
});
</script>
userId ist eine ID aus deinem System (z.B. Datenbank-ID, Hash, UUID). fooz speichert sie so, wie du sie übergibst – kein Login, keine Cookies, kein Tracking.
3. Achievements definieren
In deinem Projekt findest du die Seite „Achievements & Theme verwalten“. Dort kannst du:
- Achievement-Key definieren (z. B.
first_login) - Titel & Beschreibung festlegen
- Icon als Bild-URL oder als Emoji (
🔥,🧠, …) - XP-Punkte vergeben
Der Key ist deine öffentliche API: du triggert das Achievement später mit
fooz.unlock('DEIN_KEY').
4. Achievements im Code freischalten
Sobald ein Spieler etwas erreicht hat (z.B. Level-Up, Kauf abgeschlossen, erster Login), rufst du in deinem Frontend:
// Beispiel: Achievement "first_login"
fooz.unlock('first_login');
fooz schickt dann einen POST-Request an
https://fooz.de/api/unlock.php:
POST /api/unlock.php
Content-Type: application/json
{
"apiKey": "DEIN_API_KEY",
"userId": "12345",
"achievementId": "first_login"
}
Typische Antworten:
// Neues Achievement freigeschaltet
{
"status": "unlocked",
"achievement": {
"key": "first_login",
"title": "First Login",
"description": "Du hast dich zum ersten Mal eingeloggt.",
"icon": "🔥",
"xp_points": 50
}
}
// Bereits vorher freigeschaltet
{
"status": "already_unlocked"
}
// Fehlerfälle (z.B. falscher API-Key oder Achievement)
{
"error": "Invalid apiKey."
}
Pro Kombination aus project_id, userId und
achievementId wird nur genau ein Eintrag in
unlocked_achievements angelegt.
5. Toast-Design & Theme
Auf der Projektseite kannst du unter „Toast-Theme & Vorschau“ das Aussehen deiner Overlays konfigurieren:
- Position: oben/unten, links/rechts
- Stil: dunkel oder hell
- Anzeigedauer: wie lange der Toast bleibt
Diese Theme-Einstellungen werden pro Projekt gespeichert und automatisch im Integrations-Snippet im Dashboard berücksichtigt.
6. DSGVO & Datenschutz
fooz speichert nur:
- die von dir definierte userId (z. B. eine anonyme UUID)
- den Achievement-Key
- die Zeitpunkte der Freischaltungen (
unlocked_at)
Es werden keine Cookies gesetzt, kein Tracking über Domains hinweg und keine personenbezogenen Daten, außer du kodierst sie selbst in die userId. Für DSGVO-Konformität solltest du deine userId daher als pseudonyme ID anlegen (z. B. Hash, UUID).
7. Fehlersuche & Logging
Im Backend siehst du auf jeder Projektseite:
- Letzte Unlocks (Log der letzten 50 Einträge)
- die komplette Liste aller Achievements pro Projekt
- eine Test-Funktion, mit der du die Toasts direkt aus dem Backend auslösen kannst
Für lokale Tests kannst du auch direkt HTTP-Requests gegen
/api/unlock.php schicken (z. B. mit Postman, curl).