Jurnal de schimbări
Ce e nou.
Fiecare îmbunătățire a platformei, pe măsură ce se livrează.
· kamo-internal
Full account view/manage page at /account/view/[id]
New enterprise account detail page with 6 tabs: - Overview: 4 stat cards (orders, spent, leads, members), account info, contact info, address, recent orders/leads, notes preview - Leads: associated leads table with click-through to /leads/view/{id} - Orders: order history table with status chips, click-through to pipeline - Members: associated users with Master badge, set-master/remove actions - Notes: timeline-style notes with add form and customer-visible toggle - Documents: placeholder for future document management Account list page updated with new "Accounts" tab alongside the existing team member browser. Search, table with all account fields, click-through to detail view. New accountsApi.ts client (416 lines) with full CRUD for customers, groups, associated leads/orders/members/notes.
· SecurityService
Adăugați 18 obiective detaliate ale contului pentru gestionarea comerțului cu clienții
Noi obiective privind ContController la /api/securitate/cont/: - CRUD Client: GET/POST/PUT/DELETE/Clienți, GET /clienți/{uid} - Date asociate: GET / clients/ {uid}/ leads, /orders, /members - Managementul membrilor: Put /clienti/{uid}/membri (ad/remote/set master) - Note: GET/ POST / clients/{uid}/note - Grupuri de conturi: GET/POST/PUT/DELETE/grupuri Obiectivul complet returnează datele contului, datele de contact de la Adresa, numărul de telefon.
· kamo-shared-library
Adaugă ***************** Şi..
Noi metode de interogare pentru detalii de cont pagina listarea conturilor de către org.
· kamo-internal
Add retail pipeline sub-tabs — Customers, Fulfillment, Carts & Drafts
RETAIL verticals in the Pipeline page now have 4 sub-tabs instead of a single Orders view: 1. Orders — existing PipelineOrdersTab (unchanged) 2. Customers — AgGrid table with customer profiles, inline address expansion, search, order history summary, CSV export 3. Fulfillment — Shipment tracking dashboard with status filter chips (Pending/Label Created/In Transit/Out for **************** color-coded status, tracking link generation, create shipment dialog 4. Carts & Drafts — Two sub-views: Active/Abandoned carts with item expansion and "Convert to Order" action; Draft Orders with status management PipelineVerticalSection updated to render sub-tabs for RETAIL (was previously single-content). Hooks moved to component top level to satisfy React rules.
· kamo-internal
Enterprise retail settings UI — 5 new/rewritten market tabs for RETAIL
Product Catalog (rewritten): 4 sub-views — Products table with search/filters, hierarchical Categories tree, Brands management, Attributes with typed values and color swatches. Full CRUD for categories, brands, attributes, attribute values. Customers (new): 2 sub-views — Customer table with search, inline address expansion, full CRUD for customers/addresses/customer groups. Shows order totals, tax exempt status, marketing opt-in. Inventory (new, replaces placeholder): 3 sub-views — Stock Levels table with color-coded low/out-of-stock rows and per-row adjust dialog, Locations CRUD with fulfillment/pickup badges, read-only Adjustments audit log with filters. Tax & Shipping (new): 4 sub-views — Tax Classes, Tax Zones, Tax Rates (with compound/inclusive/priority), Shipping (zones with nested methods + carriers). Discounts & Pricing (new): 3 sub-views — Discounts with codes/automatic types and rules, Price Lists with expandable entries, Gift Cards with balance tracking. Market detail page updated: RETAIL markets now show 8 tabs (Overview, Vendors, Product Catalog, Inventory, Customers, Tax & Shipping, Discounts & Pricing, Agreements).
· kamo-internal
Adăugați ~90 metode API cu amănuntul și 30+ interfețe TypeScript la comerțApi
Acoperire API Full frontend pentru KamoRetail: categorii, mărci, atribute, variante, imagini, etichete, comentarii, clienți, adrese, grupuri de clienți, clase de taxe/zone/rate, reduceri, liste de preţuri, carduri cadou, inventar locații, niveluri ale stocurilor/ajustări, zone de transport maritim/metode, transportatori; transporturi, căruţe, ordine, ordine, configuraţii, jurnale de sincronizare.
· SecurityService
Adăugați 111 obiective de vânzare cu amănuntul la CommerceMarketController
Toate criteriile de evaluare sub / {marketId}/retail/... namespace acopera: - Categorii, mărci, atribute (cu valori), imagini, variante, etichete, comentarii - Clienti, adrese, grupuri clienti - Clase de taxe, zone, rate; reduceri; liste de preturi (cu intrari); carduri cadou - Locatii inventariale, nivele stoc (cu ajustări) - Zone de transport maritim, metode, transportatori, transporturi - Cărucioare (cu articole), proiect de ordine, note de comandă - Configs furnizor, jurnale de sincronizare Controller a crescut de la ~1,100 la ~2,550 linii. Toate criteriile de evaluare deleagă RetailService.
· kamo-shared-library
Adaugă servicii de retail (2376 linii) și 38 DTO cu amănuntul
RetailService oferă CRUD complet pentru toate entitățile KamoRetail din 7 domenii: catalog (categorii, mărci, atribute, variante, imagini, etichete, recenzii), clienți (profiluri, adrese, grupuri), prețuri (clase de impozitare/zone/rate; reduceri, liste de preţuri, carduri cadou), inventar (locaţii, nivele de stoc, ajustări), transportul maritim (zone, metode, transportatori, transporturi), cărucioare (cărți; schița ordinelor, notele de comandă) și configurarea furnizorului (jurnalele Sync). 38 DTO în donotmodify.dao.dtos.pos.retail pentru stratul de transport API.
· DaemonService
Add OG image warmup job for kamocrm.com
Quartz-scheduled job that pre-fetches opengraph-image URLs daily at 4 AM to keep the marketing site's OG image cache warm. Covers 23 static routes and 7 blog post routes. Configurable via environment variables (OG_WARMUP_ENABLED, OG_WARMUP_BASE_URL).
· kamo-marketing
Adaugă generare de imagini programatic OG pentru toate rutele
Utilizeaza Next.js opengraph-image.tsx convention cu redarea Satori/Resvg Conductă. Fiecare rută primește o imagine marca 1200x630 cu font Inter, fundal întunecat, accente de gradient și titlu/subtitrare specifică paginii. Trasee statice pre-redare în timp de construcție cu 24h ISR revalidare. Blogul dinamic și rutele KB folosesc generatoareStaticParams pentru a construi-time generaţie. Elimină manual og:image metadate în favoarea convenției- Autoinjectare.
· kamo-shared-library
Adăugați KamoRetail model de date de întreprindere
Model complet de date POS de vânzare cu amănuntul conceput pentru funcționarea independentă KamoRetail și sincronizare bidirecțională cu Shopify, BigCommerce, Wix, Squarespace, Shift4Shop, Ecwid, WooCommerce, Magento, PrestaShop şi OpenCart. Catalog produs (29 fișiere): - Categoria de produse (hierarhical), ProductBrand, ProdusAttribute, ProdusAttributeValue - Variant produs (nivel SKU cu politica de stabilire a prețurilor/greutate/inventare) - Image produs (multi-image), ProductTag, ProductReview -Relaţia produsului (vânzare/vânzare încrucişată), - Tabele de joncţiune pentru categoria de produse şi produse-Tag - 5 enums: ProductType, ProductAttributeType, ProductAttributeInputType, Inventar Policy, ProductRelationType - Entitatea de oferta extins: brand, produsType, melc, SEO domenii, greutate, ComparăAtPrice, costPreţ, taxaClasaId, necesităShipping Domeniu client (13 fișiere): - RetailClient, RetailClientAddress, RetailClientGroup - Retail ClientGroupMembership, Wishlist, WishlistItem - AdressType enum, toate depozitele Prețuri/Taxă/Discounts (19 fișiere): - TaxClass, TaxZone, TaxRate - Reducere (coduri + automate), Reducere (targere grandulara) - PriceList, PriceListEntry (tired per-group price) - Cadou cu urmărire echilibru - 3 enums, toate depozite Inventar îmbunătățit (6 fișiere): - InventarLocation (multi-warehouse cu implinire / pickup steaguri) - Nivelul stocurilor (pervariant per-locaţie cu praguri) - StockAdjustment (urmă de audit completă) - StockAdjustmentType enum Livrare și completare (14 fișiere): - TransportZone, LivrareMetoda (flat/greutate/carrier / tipuri de calcul gratuit) - Livrare Clasa, Carrier (cu urmărire șabloane URL) - Transport, TransportItem (cu ciclu de viata complet de urmarire) - TransportStatus, ShippingCalculation Enumuri de tip Coș și ieșire (12 fișiere): - Cartul ***************** CartItem - DraftOrder, DraftOrderLineItem (comenzi pre-plata create de Merchant) - OrderNote (intern/client-vizible) - CartStatus, DraftOrderStatus enums Layer de abstractizare furnizor (15 fișiere): - RetailProviderType enum (KAMO NATIV + 10 furnizori) - RetailProviderConfig entity (per-market provider settings) - RetailSyncLog entity (sinc) - 6 interfete de adaptor de sincronizare: ProductSyncAdaptator, OrderSyncAdapter, InventarySyncAdapter, ClientSyncAdapter, PricementSyncAdapter, Împlinire SyncAdaptor - Interfata RetailProviderCapability (semnale de alimentare per furnizor) - RetailProviderRegistry (runtime adaptor register) - SyncDirection, SyncStatus enums
· kamo-marketing
Adaugă 9 logouri ale platformei de comerț electronic pe bannerul integrării
Added BigCommerce, WooCommerce, Magento, Squarespace, PrestaShop, Wix, OpenCart, Ecwid, și Shift4Shop la "Integrate cu" marchiză, intercalată cu logo-uri de integrare existente.
· kamo-internal
Adaugă tab-uri de acorduri de întreprindere pentru toate tipurile de piață
Reutilizabile MarketAcorduriTemplatesTab adăugat la fiecare piață comercială cu: - Layout cu două paneluri: șablon lista bara laterală + editor complet - Variabile ale modelului specific de tip comercial (ordine/garanție de comerț, leasing activ/durate, plan de subscriere/SLA, cotații de servicii; termeni de împrumut ipotecar, termeni OP de achiziție) - Bara de instrumente de insertie variabila cu categorized dropdown - Comutare editare/Previzualizare cu redare HTML live - Managementul șablonului: creați, editați, copiați, ștergeți cu "Confirmare"Dialog - Șablon implicit și comutații active/inactive - Căutare/filtru în listă șablon - meniu de context pe șablon (edit, duplicat, ștergere)
· kamo-marketing
Adăugaţi sclipitor roşu previzualizare modul banner anunţând 6 aprilie lansare
· kamo-internal
Refactor Trade Setări POS pentru arhitectura centrată pe piață
Restructurarea majoră a paginii de setări comerciale: Frontend: - Inlocuiti aranjamentul fila plata (Produse, Inventar, Active Inchiriere, Planuri de Abonare) cu grilă de carduri centrată pe piață în care subresursele sunt cuibărite sub fiecare piață - Înlocuiţi toate CRUD modale/popup cu sub-pagini dedicate şi rutare corespunzătoare - Structură nouă: ******************* etc. - pagina de detaliu a pietei cu sub-tabe dinamice bazate pe tipul de comert (RETAIL, RENTAL, SUBSCRIPTION) - Editarea planului de abonament foloseste pagini adanci de 3 nivele cu sub-tabe (preturi, caracteristici, add-on-uri, etc.) - Adăugaţi tabul "Integrari Provider" alături de "Markets & Fields" - Noul client unificat CommerceApi.ts înlocuind apelurile API - Manipulator unic de rută API care înlocuiește 7 fișiere de rută Platformă: - Extindere CommerceMarketController cu obiective de piață-scopizate - Șterge confirmarea folosește confirmarea existentă Dialog cu modelul de cuvânt provocare
· SecurityService
Expand CommerceMarketController with nested market-centric endpoints
Replace flat POS endpoints with market-scoped REST hierarchy: - Products, inventory, vendor categories under /{marketId}/products, /inventory, /vendor-categories - Rental assets under /{marketId}/rental-assets (RENTAL markets only) - Subscription plans, prices, features, add-ons, bundles, volume discounts under /{marketId}/subscription-* - Commerce type validation ensures sub-resources match market type - PATCH /{marketId}/active endpoint for quick toggle - Enhanced GET /{marketId} returns sub-resource counts
· kamo-shared-library
Adăugați piațăId suport pentru produse de vânzare cu amănuntul DTO și CommerceService
Adăugaţi domenii de piaţăId/marketTitle fields to RetailProductDTO, adăugaţi piaţăId to CreateRetailProductRequest, și sârmă CommerceMarketRepository în CommerceService pentru a stabili asociația de piață privind crearea de produse.
· kamo-internal
Mută titlul de departament & job din fila Roles la pagina mea de profil
Câmpurile de departament și titlu de locuri de muncă apar acum pe pagina My Profile ca o SectionCard, prezentat numai pentru membrii echipei. Editabil prin Autocompletare dropdowns atunci când utilizatorul are Manage MINTE SECURITY dreapta, altfel afișate ca etichete numai pentru citire. Ambele domenii nu pot fi alocate (setate la niciuna). Departament eliminat / titlu loc de muncă din fila Roles & Permisiuni.
· SecurityService
Include memberType, departmentId/Title, jobTitleId/Title in member profile GET response
· kamo-internal
Adăugați personalizarea etichetei de stare CRM cu setările IU și cablurile de la un capăt la altul pe paginile pistelor
· SecurityService
Add LeadStatusLabelController for org-level CRM status label CRUD endpoints
· kamo-shared-library
Adaugă entitatea LeadStatusLabel, depozitul, serviciul și DTO pentru personalizarea la nivel de org a etichetei de stare CRM
· kamo-internal
Adăugați department and job title selectors to member security tab
Membrii echipei pot fi acum repartizaţi unui departament şi unui titlu de post prin intermediul Dropdowns automat complet în dialogul de securitate Editare. Afiseaza cardul misiuni curente. Membrii obişnuiţi nu văd aceste domenii.
· SecurityService
Add department and job title assignment to member security endpoint
GET now returns departmentId/Title and jobTitleId/Title for team members. PUT accepts departmentId and jobTitleId to assign/unassign department and job title, with rights recalculation after changes.
· kamo-internal
Email semnatura camp comutari, normalizate link-uri sociale, si tab-ul continut reorder
- Mutați sub-tab-ul conținutului în prima poziție în setările semnăturii email - Adăugaţi comutaţii admin-configurabile pe domeniu de aplicare (utilizator/departament/companie) cu comutatoare activate/dezactivate pentru telefonul de lucru, telefonul mobil, adresa organizației; Adresa membrilor, titlul postului, departamentul și pictogramele sociale - Refactor linkuri sociale pe profilul membrilor pentru a sprijini platforme comune + linkuri personalizate printr-o listă dinamică cu dropdown platformă, câmp URL, și sortarea comenzii - Adăugaţi 12 noi platforme sociale (ribble, behance, pinterest, reddit, discordie, left, mediu, stiveoverflow, ticking, whatsapp, telegramă, semnal) - Adăugaţi traseele API Next.js pentru configurarea câmpului de semnătură şi link-uri sociale membre - Previzualizare omagii de câmp config - Câmpurile activate dar nepopulate sunt ascunse automat
· SecurityService
Sync social links to normalized social_links table
Write member social links to both the embedded EmbSocialLinks columns (backward compat) and the new normalized social_links table. Add socialLinksNormalized to the GET member response for clients that support the new format.
· EmailService
Add email signature field config API
Add service and REST controller for managing email signature field visibility configuration per organization. Admins can toggle which contact fields appear in signatures for each scope (user/department/company).
· kamo-shared-library
Adaugă socialLinkEntitate și e-mailSignatureFieldConfigEntitate
Adăugați tabelul cu linkuri sociale normalizate pentru a înlocui coloanele de legături sociale încorporate; sprijinirea platformelor predefinite și a legăturilor sociale personalizate cu ordinea de sortare. Adaugă e-mail signature field config table pentru câmpul de contact admin-configurabil comută vizibilitatea per domeniu de aplicare (utilizator/departament/companie) în semnăturile de e-mail.
· kamo-internal
Implementați comutator de căsuță poștală cu acces privilegiat pe pagina /mesaje
- Adăugați Meet, POS, și 3 noi privilegii de acces e-mail la frontend RoleRightType - Adaugă ServiceType.MET to frontend ServiceType enum - Adăugaţi getAccessible Mailboxes API şi Accessible Mailboxes tip la mailboxApi - Overhaul FolderSidebar switcher cu sectiuni grupate: My Mailboxes, Shared, Department, Job type, All Members (privilege-gated) - Fix "Loading..." problema prin derivarea e-mail de la cutiile poștale accesibile răspuns - Actualizare Navigator mesaj pentru a manipula tipul cutiei de adrese cu afişaj banner
· EmailService
Add accessible mailboxes endpoint with privilege-based expanded access
Add AccessibleMailboxService and GET /api/email/mailboxes/accessible endpoint that returns personal mailboxes, shared mailboxes, and privilege-gated access to department, job type, and all member mailboxes.

Universul tău te așteaptă.
Începeți gratuit în câteva minute.Adăugați produse oricând sunteți pregătit — fără migrare, fără autentificări noi.
Gratuit pentru totdeauna — nu este necesar un card de credit