Kontoeinstellungen für Telefon + Sicherheitsfragen (SP3) hinzufügen
Fügt ************ mit API-Draht zu SecurityService /api/account/*. Syncs nav über alle 3 Standorte.
Wire real API-aufrufe in /recover-Seite (SP3)
Ersetzt alle gefälschten Submit() stubs durch RecoveryApi Anrufe. Fügt SMS OTP hinzu Phase, E-Mail-Eingabe, neuerpasswort Schritt und Tokenlandung überprüfen üb...
AccountSettingsController + Service für Telefon + Sicherheitsfragen hinzufügen (SP3)
Ermöglicht angemeldeten Benutzern, das Telefon zu setzen/verifizieren und 3 Sicherheitsfragen zu konfigurieren. Routen zu /api/account/* (session-authenticated ...
BulkTextSmsClient + EmailTemplateServiceClient + PasswordRecoveryController (SP3) hinzufügen
Vollständiger Passwort-Recovery-Flow: E-Mail-Link, SMS OTP, Sicherheitsfragen, Samen Phrase. Routen nach /api/wiederherstellung/* (unuthenttärkt). Verwendet SP1...
InternalAuthFilter + POST /api/bulktext/send für Service-to-Service SMS (SP3) hinzufügen
Recovery entities + repos hinzufügen; Bump auf 1.3.0 (SP3)
Fügt PasswordResetToken, SmsOtp, RecoverySession, AccountVerificationCode hinzu JPA-Einheiten mit entsprechenden Repositories für SP3-Rückgewinnungsfluss.
SecurityQuestionCatalog enum + sq1/2/3 + seedPhraseHash zum Benutzer hinzufügen (SP3)
Fügen Sie SP3-Reheditionstabelle DDL + User-Spalte hinzu Ergänzungen zu SchemaCleanupRunner hinzu
Routenvorschau durch Browser's Backend-rendered modal (Teil von SP2)
Der EmailTemplateBrowser besitzt nun direkt das Vorschau-Modal, also Manager muss nicht mehr Zeilenebene-Vorschau-Anfragen abfangen und umleiten in den Bearbeit...
Wire EmailTemplateEdit zu real API
Hydrat von templateApi.get, speichert über templateApi.update. Kategorie Dropdown ist API-getrieben mit Inline-Kategorie-Erzeugung. Variablen Picker liest aus v...
Wire EmailTemplateBrowser zu real API + System Defaults Register hinzufügen
Ersetzte -140 Zeilen von Mock-Daten durch TemplateApi.list() Aufrufe. Bedingt fünfter Tab 'System Defaults' erscheint nur für Top-Level-Org-Administratoren und ...
EmailTemplatePreview modal hinzufügen
Öffnet auf Zeilen-Action Vorschau. Backend-rendered via templateApi.preview(); Ergebnis in einem sandboxed iframe für Stil Isolation angezeigt. Matches exakte C...
TemplateApi + categoryApi + variableContracts Client Module hinzufügen
Wraps SP1's /api/Email/templates/* und ************ Endpunkte mit typed TypeScript Helfern. variableContracts spiegelt SP1's TemplateKeys Javadoc so der Editor ...
Wire EmailTemplateSeedClient in ************
Thin RestTemplate Client, der POSTs zu EmailService's ************ nach einem org + Besitzer TeamMember sind beharrte. Retries zweimal mit Backoff; Ausfall wirf...
EmailTemplateKategorieController REST endpoints hinzufügen
************ CRUD. Löschantwort enthält reassignedCount - die Anzahl der Vorlagen, die nicht als ein Ergebnis der Entfernung der Kategorie. Sitzungskontext gele...
EmailTemplateController REST Endpoints + DTOs hinzufügen
Exposes /api/email/templates/* CRUD + Vorschau + Duplikat + Reset-to-default + service-to-service /send + /seed-org/{orgId'. Top-Level orgs (keine Eltern) siehe...
InternAuthFilter für Service-to-Service-Endpunkte hinzufügen
Validiert X-Internal-Auth Header auf /api/email/templates/send und /api/email/templates/seed-org/* Pfade. Andere Pfade umgehen diesen Filter (Benutzersitzung au...
EmailTemplateKategorieService hinzufügen . CRUD für Org-scoped Kategorien
Case-unempfindliche Namensununempfindlichkeit pro org auf Service-Schicht durchgesetzt (passt mit dem teilweisen eindeutigen Index in der DB). Lösen nulls Kateg...
E-MailTemplateService hinzufügen: CRUD + senden + Saatgut + Reset-to-default
Core orchestrator für transaktionale E-Mail. sendToUser löst die Vorlage, macht Subjekt/body, wählt die primäre Domäne der org von Organization.domains, und rei...
NoReplySenderService für 'NoReply@{domain' von Adresse hinzufügen
Einzelne Wahrheitsquelle für Transaktions-E-Mail von Adressen. Akzept ein Domain-String, Kleinbuchstaben-Normalisierung, gibt "NoReply@<domain" zurück. Anrufer ...
TemplateRenderer für {{var-Ersatz hinzufügen
Staatenloser Regex-basierter Renderer. Fehlende Vars ersetzen leere Schnur und emittieren ein WARN-Log mit templateKey + orgId zur Zuordnung. Kein HTML-Emission...
EmailTemplateSeedRunner für SYSTEM + per-org-Saatgut hinzufügen
Läuft unter @Order(20) auf KamoInitializerService Start. Lasten kanonisch templates aus Kamo-shared-Bibliotheksressourcen; upserts SYSTEM-Reihen (keine Clobber)...
Teilte Unikate + CHECK Einschränkungen für email_templates hinzufügen
Hibernate ddl-auto kann keine partiellen Indizes oder Rechen-CHECK erzeugen Zwänge. Diese Commit fügt sie über den bestehenden idempotent DDL-Läufer hinzu Muste...
CanonicalTemplateLoader + CanonicalTemplate record hinzufügen
Lesen Sie die drei REQUIRED Vorlagen (WELCOME, PASSWORD_RESET, EMAIL_VERIFICATION) von Classpath-Ressourcen unter **************** Verzehrt von KamoInitializerS...
kanonisches HTML + JSON für WELCOME, PASSWORD_RESET, EMAIL_VERIFICATION hinzufügen
Source-of-Truth-Inhalte für SYSTEM-Reihen. Geladen bei KamoInitializerService Start von CanonicalTemplateLoader und UPSERTed in email_templates. Teil von SP1.
EmailTemplate Enterstelle + Repository hinzufügen
Speichert eine SYSTEM-Reihe pro template_key (org_id NULL, is_system TRUE) plus ein Klon pro org pro template_key. Soft-Referenz org_id/category_id. DB- angetri...
EmailTemplateKategorie Entität + Repository hinzufügen
Org-kopierte Kategorien für E-Mail-Vorlagen. Soft BIGINT org_id (keine FK) passt zu bestehenden Mustern. Case-unsensitive Namen Einzigartigkeit pro-Ort ist durc...
TemplateStatus enum + Templates Konstanten für Transaktionsvorlagen hinzufügen
Erklärt die REQUIRED/CUSTOM/ARCHIVED Lebenszykluszustände und die drei erforderliche Vorlagen-Tasten (WELCOME, PASSWORD_RESET, EMAIL_VERIFICATION). Variable Ver...
Seed KamoCRM mit ALL_WORK_ELIGIBLE auf frischen Installationen
Der createOrg() Helfer wendet dieses einzelne Argument auf beide an ageReqTypeMitglied und ageReqTypeTeamMitglied; im Einklang mit Plattform-Konvention. Paare m...
Einfacher Läufer hinzufügen, um KamoCRM agereq zu ALL_WORK_ELIGIBLE zu migrieren
Bedingte idempotent UPDATE läuft auf Service-Start-up; WO Klausel überprüft der erwartete alte Wert, also sind Wiederholungen No-Ops. Fehler werden protokollier...
Integrationslogos + genaue /integrations Metadaten
Integrationsseiten und Hub zeigen jetzt Herstellerlogos (Verwendung der bestehenden ************ Vermögenswerte, dass die Homepage TechStackBanner verwendet ber...
Erweitern /integrations zu allen Homepage-gelisteten Anbietern
Angepasst die /integrations Seite mit den tatsächlichen Integrationen, die durch die Homepage (TechStackBanner). 28 neue Integrationsseiten passend hinzu was da...
Home Mortgage Brokers Industrie-Seite hinzufügen
Neue Branchenlösung Seite bei /solutions/Hypotheken-Broker für Hypotheken Makler und Kreditgeber. Folgt der ehrlichen Plattform-Einfassung: Kern CRM + Komms + d...
92 SEO-Seiten hinzufügen - Branchen, Integrationen, Glossar
Umsetzung von Tier 1 des SEO Content Erweiterungsplans: drei neue Inhalte Subsysteme mit insgesamt 92 neuen Crawlable-URLs plus 3 Hub-Seiten. 1. /solutions - 3...
Geo-Datenbank-url zum Analytics-Sekret für CockroachDB Geolite Lookup hinzufügen
Kamo Analytics verwendet diese URL, um Besucher IP-Land/Region/Stadt nachzuschauen von den ************ Tischen. Verwendet Kamo-Benutzer mit Passwort auth und s...
K8s-Manifeste für kamo-nowww hinzufügen (catch-all IngressRoute, Priorität 1)
Kamo-nowww umleitende Middleware hinzufügen (apex/unknown-www, ACME pass-through, 308)
Entfernen Sie Häuser/Apps/Corporieren/Einsicht von den erforderlichen DNS-Aliasen
Entfernen Sie Häuser/Apps/Corporieren/Einsicht von den erforderlichen DNS-Aliasen
Fügen Sie öffentliche bekannte-alasen Endpunkt für kamo-nowww Build-Time back-in
Fügen Sie den Backlink von KamoCRM zu den Registrierungsseiten hinzu
Spiegelt das PoweredByKamo-Abzeichen, das in Kamo-login ausgeliefert wird. Seit Kamo-Register wird auf der Domain jedes White-Label-Clients serviert, so entsteh...
Wie das, was Sie sehen Versand?
Beginnen Sie mit dem kostenlosen Plan und lesen Sie diese Seite in einem Monat erneut, um zu sehen, ob Sie die neuen Funktionen nutzen möchten.
