Changelog
Ada kabar baru.
Setiap perbaikan pada platform, sebagai kapal.
· 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
Tambahkan 18 detail rekening titik akhir untuk manajemen pelanggan perdagangan
Titik akhir baru pada AccountController di bawah / api / keamanan / akun /: - Pelanggan CRUD: GET / POST / PUT / DELETE / pelanggan, GET / pelanggan / {uid} - Data asosiasi: GET / pelanggan / {uid} / lead, / perintah, / anggota - Manajemen anggota: PUT / pelanggan / {uid} / anggota (tambahkan / hapus / set master) - Catatan: GET / POST / pelanggan / {uid} / catatan - Grup akun: GET / POST / PUT / DELETE / groups Detil lengkap mengembalikan info akun, rincian kontak dari Alamat, lead / order / member counts.
· kamo-shared-library
Tambah * * * * * * * * * * * * * * * dan..
Metode pencarian baru untuk halaman detail akun - urutan pencarian oleh purchaser dan daftar akun oleh 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
Tambah ~ 90 metode API ritel dan 30 + TypeScript antarmuka untuk komersial Api
Ringkasan penuh cakupan API bagi KamoRetail: kategori, merek, atribut, varian, gambar, tag, ulasan, pelanggan, alamat, grup pelanggan, kelas pajak / zona / suku bunga, diskon, daftar harga, kartu hadiah, inventaris lokasi, tingkat saham / penyesuaian, zona pengiriman / metode, operator, Pengiriman, gerobak, perintah rancangan, catatan pesan, konfig penyedia, log sinkronisasi.
· SecurityService
Tambahkan 111 titik akhir eceran ke controller CommerceMarketController
Semua titik akhir dibawah / {pasar} / ritel /... namespace meliputi: - Kategori, merek, atribut (dengan nilai), gambar, varian, tag, ulasan - Pelanggan, alamat, grup pelanggan - Kelas pajak, zona, tarif; diskon; daftar harga (dengan entri); kartu hadiah - Inventaris lokasi, tingkat saham (dengan penyesuaian) - Pengiriman zona, metode, kapal induk, pengiriman - Mobil (dengan item), perintah rancangan, catatan urutan - Konfig penyedia, log sinkronisasi Kontroller tumbuh dari ~ 1.100 ke ~ 2.550 baris. Semua titik akhir delegasi ke RetailService.
· kamo-shared-library
Tambahkan RetailService (2376 baris) dan 38 DTO ritel
Layanan Pengisian menyediakan CRUD penuh untuk semua entitas KamoRetail di 7 domain: katalog (kategori, merek, atribut, varian, gambar, tag, ulasan), pelanggan (profil, alamat, grup), harga (kelas pajak / zona / rate, diskon, daftar harga, kartu hadiah), inventaris (lokasi, tingkat saham, penyesuaian), pengiriman (zona, metode, operator, pengiriman), gerobak (gerobak, draft order, order notes), and provider config (sync log). 38 DTOs dalam donotmodify.dao.dtos.pos.ritel untuk cover transpor 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
Tambahkan pembuatan gambar OG programmatic untuk semua rute
Uses Next.js opengraph -image.tsx convention with Satori / Resvg render Jalur pipa. Setiap rute mendapatkan bermerek 1200x630 gambar dengan font Inter, latar belakang gelap, aksen gradien, dan kontes-spesifik judul / subjudul. Rute statik pra-render pada waktu membangun dengan revalidasi ISR 24h. Blog dinamis dan rute KB memakai General StaticParams untuk pembangunan waktu generasi. Hapus og manual: metadata gambar yang mendukung konvensi - berbasis oto- injeksi.
· kamo-shared-library
Tambahkan model data perusahaan KamoRetail - 109 entitas baru, repositori, dan operator abstrak
Model data POS ritel penuh dirancang untuk standar operasi KamoRetail dan bidirectional sync with Shopify, BigCommerce, Wix, Squarespace, Shift4Shop, Ecwid, WooCommerce, Magento, PrestaShop, dan OpenCart. Catalog Produk (29 berkas): - ProductCategori (hirarkis), ProductBrand, ProductAtrite, ProductAttribute Value - ProductVariant (SKU-level dengan kebijakan harga / berat / persediaan) - ProductImage (multi- image), ProductTag, ProductReview - ProductRelation (cross- sell / up- sell), ProductVarianAttribute - Kategori Produksi-Tag tabel persimpangan - 5 enums: ProductType, ProductAttributeType, ProductAttributteInputType, InventoryPolicy, ProductRelations Type - Entitas menawarkan: merek, productType, siput, bidang SEO, berat badan, compareAtPrice, costPrice, taxclassId, revenresShipping Domain Pelanggan (13 berkas): - Retail Pelanggan, RetailerCustomer Alamat, Retail Pelanggan Grup - Retail Customer GroupMbership, Wishlist, WishlistItem - AddressType enum, semua repositori Harga / Pajak / Diskon (19 berkas): - TaxClass, TaxZone, TaxRate (compound / inklusif / prioritas dukungan) - Diskon (kode + otomatis), DiscountRule (target granular) - PriceList, PriceListEntry (tiered per- kelompok harga) - GiftCard dengan pelacakan keseimbangan - 3 enums, semua repositori Enhanced Inventory (6 berkas): - InventoryLokasi (multi- gudang dengan bendera pemenuhan / pickup) - StockLevel (per- variant per-location dengan ambang batas) - StockAdjustment (jejak audit penuh) - StockAdjustPentType enum Pengiriman (14 berkas): - Zona ShippingZone, Metode Shipping( tipe rata / berat / operator / bebas perhitungan) - Kelas ShippingClass, Carrier (dengan templat URL pelacakan) - Peralatan, ShipMentItem (dengan lifecycle pelacakan penuh) - Status ShipTment, Kalkulasi ShippingComment Tipe enums Cart & Checkout (12 berkas): - Mobil itu... CartButir -DraftOrder, DraftOrderLineItem (merchant- dibuat perintah sebelum pembayaran) - OrderNote (internal / pelanggan -terlihat) - CartStatus, Enums DraftOrderStatus Lapisan Abstraksi Penyedia (15 berkas): - RetailProviderType enum (KAMO _ NATIVE + 10 penyedia) - Entitas RetailProviderConfig (pengaturan penyedia per- pasar) - Entitas RetailSyncLog (jejak audit sync) - 6 sync adaptor interface: productSyncAdapter, OrderSyncAdapter, InventorySyncAdapter, Customer Adapter, PrincingSyncAdapter, FulfillmentalSyncAdapter - Antarmuka RetailProviderKapability (bendera per penyedia) - RetailProviderRegistry (daftar adaptor waktu jalan) - SyncDirection, SyncStatus enums
· kamo-marketing
Tambahkan 9 logo platform perdagangan ke penanda integrasinya
Ditambah BigCommerce, WooCommerce, Magento, Squarespace, PrestaShop, Wix, OpenCart, Ecwid, dan Shift4Shop ke "Integrates With" marquee, interleaved dengan logo integrasi yang ada.
· kamo-internal
Tambahkan tab Persetujuan kelas-sehat ke semua tipe pasar
Dapat digunakan kembali MarketAgreement TemplateTab ditambahkan ke setiap pasar perdagangan dengan: - Tata letak dua- panel: bilah sisi daftar template + full editor - Commerce- typet- spesifik template variabel (urutan ritel / garansi, aset rental / durasi, rencana berlangganan / SLA, kutipan layanan, istilah pinjaman hipotek, pengadaan istilah PO) - Bilah alat penyisipan variabel dengan dropdown yang dikategorikan - Sunting / Pratilik menjungkitkan dengan render HTML hidup - Manajemen template: buat, sunting, duplikasi, hapus dengan Dialog Konfirmasi - Templat baku dan toggle aktif / tidak aktif - Cari / saringan dalam daftar template - Menu konteks per template (edit, duplikasi, delete)
· kamo-marketing
Tambahkan glimmering merah pratinjau mode banner mengumumkan April 6 peluncuran
· kamo-internal
Reaktor pengaturan perdagangan POS ke arsitektur pasar-sentris
Restrukturitas utama halaman pengaturan perdagangan: Frontend: - Ganti tata letak tab datar (Produk, Inventaris, Aset Rental, Plan Berlangganan) dengan Jaringan kartu berpusat dimana sumber daya sub- bersarang di bawah setiap pasar - Ganti semua modal / popped berbasis CRUD dengan sub- halaman yang didedikasikan dan routing yang tepat - Struktur rute baru: * * * * * * * * * * * * * * * * * * * dll. - Halaman detail pasar dengan sub- tab dinamis berdasarkan tipe perdagangan (RETAIL, RENTAL, SUBSCRIPSI) - Editing rencana berlangganan menggunakan halaman 3 tingkat dalam dengan tab-sub- (pricing, features, add-ons, dsb.) - Tambahkan "Provider Integrations" placeholder tab bersamaan "Markets & Fields" - Klien unified commerceApol.ts baru menggantikan panggilan API tersebar - Single catch-all Penangan rute API menggantikan 7 individu berkas rute Backend: - Expand CommerceMarketController dengan nested pasar-scoped titik akhir - Hapus konfirmasi menggunakan Dialog Konfirmasi yang ada dengan pola kata tantangan
· 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
Tambahkan dukungan pasar ke DTOs dan Layanan Perdagangan
Tambahkan bidang pasar / pasar Judul ke RetailProductDTO, tambahkan pasar ke Create Retail ProductRequest, dan kawat MarketRepositori Perdagangan ke dalam CommerceService untuk mengatur asosiasi pasar pada pembuatan produk.
· kamo-internal
Pindahkan judul departemen & pekerjaan dari tab Roles ke halaman Profil saya
Departemen dan bidang judul pekerjaan sekarang muncul di halaman Profil saya sebagai SectionCard, hanya ditampilkan untuk anggota tim. Dapat diedit melalui Autocomplete dropdowns ketika pengguna memiliki MANAGE _ MEMBER _ KEAMANAN kanan, jika tidak ditampilkan sebagai label baca-saja. Kedua bidang itu tidak boleh dibuka. Judul departemen / pekerjaan yang dibuang dari tab permission & Roles.
· SecurityService
Include memberType, departmentId/Title, jobTitleId/Title in member profile GET response
· kamo-internal
Tambahkan penyesuaian status label CRM dengan pengaturan UI dan end-to-end kabel di halaman lead
· SecurityService
Add LeadStatusLabelController for org-level CRM status label CRUD endpoints
· kamo-shared-library
Tambahkan Entitas LeadStatusLabel, repositori, layanan, dan DTO untuk tatanan status CRM tingkat
· kamo-internal
Tambahkan pemilih judul departemen dan pekerjaan ke tab keamanan anggota
Anggota tim sekarang dapat ditugaskan ke departemen dan jabatan melalui Pengunduhan otomatis di dialog Sunting Keamanan. Kartu Ringkasan menunjukkan tugas saat ini. Anggota biasa tidak melihat bidang ini.
· 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
Kolom tanda tangan surel toggles, link sosial normalisasi, dan tab kontent direorder
- Pindahkan sub-tab Isi ke posisi pertama dalam pengaturan tanda tangan email - Tambahkan ruas kontak yang dapat diatur-ulang setiap scope (pengguna / departemen / perusahaan) dengan mengaktifkan / menonaktifkan switch untuk Telepon Kerja, Telepon Sel, Alamat Organisasi, Alamat Anggota, Judul Tugas, Departemen, dan Ikon Sosial - Reaktor link sosial pada profil anggota untuk mendukung platform umum + link gubahan melalui sebuah daftar dinamis dengan platform dropdown, daerah URL, dan pengurutan pengurutan - Tambahkan 12 platform sosial baru (dribbble, behance, pinds, reddit, perselisihan, kendur, medium, stackoverflow, twitch, whatsapp, telegram, signal) - Tambah rute API Next.js untuk tanda tangan field config dan anggota link sosial - Preview config field config - field non-aktif tersembunyi dalam real-time - Fields yang diaktifkan tetapi tidak dihuni secara otomatis tersembunyi
· 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
Tambahkan SocialLinkEntity dan EmailSignatureFieldConfigentitas
Tambah tabel sosial _ link normalisasi untuk menggantikan kolom link sosial yang tertanam, mendukung baik platform yang sudah ditentukan dan link sosial kustom dengan pengurutan. Tambahkan e _ signature _ field _ config tabel untuk daerah kontak yang dapat diatur visibility toggles per scope (user / department / company) dalam tanda-tangan email.
· kamo-internal
Implikasi switcher kotak surat dengan akses berbasis pada halaman / pesan
- Tambahkan Meet, POS, dan 3 akses email baru hak untuk antarmuka RoleRightType - Tambahkan ServiceType.MEET ke antarmuka Tipe Serviceenum - Tambahkan getAccessibleMailbox API dan Mengakses kotak-kotak-surat ke kotak-surat Api - Overhaul FolderSidebar switcher kotak surat dengan daerah pengelompokan: Kotak-surat saya, Bersama, Departemen, Jenis Job, Semua Anggota (Image-gated) - Perbaiki "Memuat"... masalah dengan mencabut email dari respon kotak surat yang dapat diakses - Update MesgageBrowser untuk menangani tipe kotak surat dengan tampilan 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.

Alam semestamu menunggu.
Mulai gratis dalam beberapa menit. Tambahkan produk kapanpun Anda siap — tidak ada migrasi, tidak ada login baru.
Gratis selamanya — tidak diperlukan kartu kredit