Zum Inhalt springen
Produkt · 5 Min. Lesezeit

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.

W

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 AiUsageService wirklich 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:

MethodeWas sie prüftDatenquelle
canUseChannel($company, $channel)Im Tarif erlaubter Kanalbilling.plans.{tier}.channels
canAddDocument($company)Limit für RAG-Dokumentemax_documents vs. KnowledgeDocument::count()
canCreateWorkflow($company)Limit für n8n-Workflowsmax_workflows vs. WhatsAppInstance::count()
canAddMember($company)Limit für Mitgliedermax_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 jetzt canAddDocument(), 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 jetzt canCreateWorkflow(), bevor n8n aufgerufen wird
  • Gratis-Tarif: 0 Workflows → vollständig blockiert
  • Pro-Tarif: maximal 3 Workflows

TeamInvitationController (neu 🔒)

  • store() prüft jetzt canAddMember(), 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 in billing.plans.pro.channels konfigurierten Kanäle
  • Nur der API-Zugriff bleibt gesperrt (erfordert Business oder Enterprise)

RAG-Dokumente: maximal 10 ✅

  • canAddDocument() zählt die KnowledgeDocument-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 die WhatsAppInstance-Einträge mit aktiver n8n_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 gegen max_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_members automatisch, 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

EbeneVorherJetzt
config/billing.phpchannels: ['whatsapp']channels: ['whatsapp', 'web']
SubscriptionPage.tsx„Nur WhatsApp”„WhatsApp + Web Chat”
Pricing.tsx (Landingpage)„1 Kanal (WhatsApp)“„2 Kanäle (WhatsApp + Web Chat)“
VergleichstabelleWeb Chat ❌ im Gratis-TarifWeb Chat ✅ im Gratis-Tarif
IntegrationSection.tsxWeb Chat ohne proOnlyKeine Ä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'] aktualisiert
  • app/Http/Controllers/Api/DocumentController.php — Durchsetzung mit canAddDocument()
  • app/Http/Controllers/Api/N8nWorkflowController.php — Durchsetzung mit canCreateWorkflow()
  • app/Http/Controllers/Api/TeamInvitationController.php — Durchsetzung mit canAddMember()
  • 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

update v1.0.8 produkt limits tarife web-chat sicherheit kanäle

Teilen

Kommentare

Bleiben Sie respektvoll. Ihre E-Mail-Adresse wird nicht veröffentlicht.

Verwandte Artikel

Möchten Sie das in Ihrem Unternehmen umsetzen?

Testen Sie es 14 Tage kostenlos. Ohne Kreditkarte.

14 Tage kostenlos testen