WITHMIA v1.0.8 — Tariflimits, die wirklich greifen + Web Chat gratis
Vollständige Durchsetzung aller Tariflimits im Backend (Dokumente, Workflows, Mitglieder, Kanäle). Der Gratis-Tarif enthält jetzt WhatsApp + Web Chat — zwei Kanäle, um ohne Bezahlung loszulegen.
WITHMIA-Team
WITHMIA
Hinweis (Juli 2026): die Tarife Business und Enterprise heißen heute Team und Max. Die Preise bleiben gleich.
Die v1.0.7 hat die Abrechnung fehlerfrei gemacht. Die v1.0.8 schließt eine kritische Lücke: Die Limits jedes Tarifs werden jetzt tatsächlich im Backend durchgesetzt — und der Gratis-Tarif wird mit WhatsApp + Web Chat deutlich attraktiver.
Das Problem: Limits, die keine waren
Ein gründliches Audit zeigte, dass die Tariflimits nur im Frontend geprüft wurden — visuelle Schlösser, „PRO”-Badges und Weiterleitungen zur Abo-Seite. Die APIs standen jedoch weit offen:
- Wer im Gratis-Tarif war, konnte über die API Dokumente in die Wissensdatenbank laden
- Konnte durch direkten Aufruf des Endpunkts beliebig viele Workflows anlegen
- Konnte völlig ungehindert Mitglieder einladen
- Nur die KI-Nachrichten (500/Monat) wurden über
AiUsageServicewirklich begrenzt
Was hieß das konkret?
Dass jede halbwegs technikaffine Person sämtliche Beschränkungen des Gratis-Tarifs umgehen und kostenpflichtige Funktionen ohne Abo nutzen konnte. Ein Sicherheitsproblem und ein Geschäftsmodellproblem in einem.
Die Lösung: PlanEnforcementService
Wir haben den Service PlanEnforcementService geprüft und vervollständigt. Er bündelt die gesamte Logik zur Limitprüfung:
| Methode | Was sie prüft | Datenquelle |
|---|---|---|
canUseChannel($company, $channel) | Im Tarif erlaubter Kanal | billing.plans.{tier}.channels |
canAddDocument($company) | Limit für RAG-Dokumente | max_documents vs. KnowledgeDocument::count() |
canCreateWorkflow($company) | Limit für n8n-Workflows | max_workflows vs. WhatsAppInstance::count() |
canAddMember($company) | Limit für Mitglieder | max_members vs. User::count() + TeamInvitation::pending() |
Der Service ermittelt automatisch den aktiven Tarif des Unternehmens (oder free, wenn kein Abo besteht) und liest die Limits aus config/billing.php.
Durchsetzung in allen Controllern
ChatwootChannelController (war bereits vorhanden ✅)
Alle 4 Methoden zur Kanalerstellung prüften den Tarif bereits:
createWebWidget()→canUseChannel($company, 'web')createEmail()→canUseChannel($company, 'email')createInstagram()→canUseChannel($company, 'instagram')createFacebookMessenger()→canUseChannel($company, 'facebook')
DocumentController (neu 🔒)
storeDocumentMetadata()prüft jetztcanAddDocument(), bevor der Datensatz angelegt wird- Gratis-Tarif: 0 Dokumente → vollständig blockiert
- Pro-Tarif: maximal 10 Dokumente
- Enterprise: unbegrenzt (
max_documents = -1)
N8nWorkflowController (neu 🔒)
createWorkflowForCompany()prüft jetztcanCreateWorkflow(), bevor n8n aufgerufen wird- Gratis-Tarif: 0 Workflows → vollständig blockiert
- Pro-Tarif: maximal 3 Workflows
TeamInvitationController (neu 🔒)
store()prüft jetztcanAddMember(), nachdem Duplikate ausgeschlossen wurden- Zählt aktuelle Nutzer + offene Einladungen gegen
max_members - Gratis-Tarif: maximal 1 Mitglied (die Inhaberin) → kann niemanden einladen
Alle Endpunkte geben bei Überschreitung des Limits HTTP 403 mit upgrade_required: true zurück, damit das Frontend den Upgrade-Hinweis anzeigen kann.
Pro-Tarif: alle 5 Limits vollständig durchgesetzt
Der Pro-Tarif ($24.990/Monat) ist der beliebteste bei WITHMIA. Mit der echten Durchsetzung wird jedes seiner Limits jetzt im Backend validiert:
Kanäle: alle 5 ✅
- WhatsApp, Instagram, Facebook Messenger, E-Mail, Web Chat
canUseChannel()erlaubt die 5 inbilling.plans.pro.channelskonfigurierten Kanäle- Nur der API-Zugriff bleibt gesperrt (erfordert Business oder Enterprise)
RAG-Dokumente: maximal 10 ✅
canAddDocument()zählt dieKnowledgeDocument-Einträge des Unternehmens- Bei 10 gibt der Endpunkt einen 403 mit Upgrade-Hinweis zurück
- Für mehr → Upgrade auf Business (50) oder Enterprise (unbegrenzt)
Workflows: maximal 3 ✅
canCreateWorkflow()zählt dieWhatsAppInstance-Einträge mit aktivern8n_workflow_id- Bei 3 wird das Anlegen neuer Bots blockiert
- Für mehr → Upgrade auf Business (10) oder Enterprise (unbegrenzt)
Mitglieder: 1 inklusive + kostenpflichtige Extras ✅
canAddMember()zählt Nutzer + offene Einladungen gegenmax_members- Pro enthält standardmäßig 1 Mitglied
- Zusätzliche Mitglieder: je $10.500 CLP/Monat (Zahlung über Flow.cl/dLocal)
- Jedes weitere Mitglied erhöht
max_membersautomatisch, sobald die Zahlung bestätigt ist
KI-Nachrichten: 2.000/Monat ✅
AiUsageService.canSendMessage()— bestand schon vor der v1.0.8- Bei 90 % und 100 % gehen Warn-E-Mails raus
- Mehrverbrauch: $5.990 CLP je weitere 1.000 Nachrichten (maximal 5.000 zusätzlich)
KI-Modelle: GPT-4o-mini + GPT-4o
getRecommendedModel()verteilt automatisch nach Tarif- Pro kann je nach Komplexität der Nachricht beide Modelle nutzen
Gratis-Tarif: jetzt mit WhatsApp + Web Chat
Eine strategische Entscheidung: Der Gratis-Tarif enthält jetzt 2 Kanäle statt nur WhatsApp.
Warum?
Das Web-Chat-Widget ist in Lateinamerika ein noch wenig erschlossener Markt. Wenn wir es kostenlos anbieten, können mehr Unternehmen WITHMIA unverbindlich auf der eigenen Website testen (WordPress, Shopify, Wix) und den Wert der Plattform ganz organisch entdecken.
Was sich geändert hat
| Ebene | Vorher | Jetzt |
|---|---|---|
config/billing.php | channels: ['whatsapp'] | channels: ['whatsapp', 'web'] |
SubscriptionPage.tsx | „Nur WhatsApp” | „WhatsApp + Web Chat” |
Pricing.tsx (Landingpage) | „1 Kanal (WhatsApp)“ | „2 Kanäle (WhatsApp + Web Chat)“ |
| Vergleichstabelle | Web Chat ❌ im Gratis-Tarif | Web Chat ✅ im Gratis-Tarif |
IntegrationSection.tsx | Web Chat ohne proOnly | Keine Änderung (war bereits korrekt) |
Was im Gratis-Tarif gesperrt bleibt
- Instagram, Facebook Messenger, E-Mail → erfordern Pro oder höher
- RAG-Dokumente → 0 erlaubt
- Workflows → 0 erlaubt
- Zusätzliche Mitglieder → nur die Inhaberin
Technische Zusammenfassung
Geänderte Dateien
Backend:
config/billing.php— free.channels auf['whatsapp', 'web']aktualisiertapp/Http/Controllers/Api/DocumentController.php— Durchsetzung mitcanAddDocument()app/Http/Controllers/Api/N8nWorkflowController.php— Durchsetzung mitcanCreateWorkflow()app/Http/Controllers/Api/TeamInvitationController.php— Durchsetzung mitcanAddMember()app/Services/PlanEnforcementService.php— geprüft und vervollständigt (bestand bereits)
Frontend der APP:
resources/js/pages/subscription/SubscriptionPage.tsx— Texte aktualisiert
Landingpage (WEBPAGE):
WEBPAGE/withmia-main/src/components/Pricing.tsx— Features, Vergleichstabelle und FAQ
Das 403-Antwortmuster
Alle geschützten Endpunkte geben dasselbe Format zurück:
{
"success": false,
"error": "Has alcanzado el límite de X de tu plan. Actualiza tu plan para Y.",
"upgrade_required": true
}
Die v1.0.8 macht aus WITHMIA — einer Plattform mit kosmetischen Beschränkungen — eine Plattform mit echter Durchsetzung an jedem Endpunkt. Und gleichzeitig wird der Gratis-Tarif mit dem inkludierten Web Chat attraktiver. Sicherheit und Wachstum in einem einzigen Update.
Labels
Kommentare
Bleiben Sie respektvoll. Ihre E-Mail-Adresse wird nicht veröffentlicht.