Mergi la conținut
KAMOUniverse

Jurnal de schimbări

Ce e nou.

Fiecare îmbunătățire a platformei, pe măsură ce se livrează.

  1. · kamo-internal

    Web Chat Integrare fil

    Faza 2 nucleul tab-ului de integrare Web Chat: rute BFF proxyning la faza 1a MediaService CRUD, un client tipat și /setări/fetures/chat tab în cazul în care un org enumeră integrarea, creează unul (numele + originile site-ului necesare + moduri AI/Suport), și devine brut tasta site-ului + fragment de inmatriculare o dată. Design personalizator și disponibilitatea Lista de verificare sunt fazele ulterioare.

  2. · kamo-register

    Kamo-register onorează software-ul auth logo + nume

    - DynamicMetaLoader: citeste identitatea software-ului + auth selectors from config.json, rezolva titlu tab, continuă aut logo/name stare la sesiuneStorage - brand.ts + TemeLogo: inregistreaza logo-uri auto-urmeaza identitatea auth-logo (reactiv) - utilizează AuthName: numele de înregistrare (aterizare + flux) urmează identitatea auth-name, reactiv la sarcina de configurare tematică; cade înapoi la companie

  3. · kamo-login

    Kamo-login onorează logo-ul auth software + titlu tab

    - DynamicMetaLoader: citeste identitatea software-ului + auth selectors from config.json, set tab titlu de la numele rezolvat (authNameBrandSource), persistă starea auth-logo la sesiuneStorage - brand.ts + ThemeLogo: login logo-uri auto-urmează identitatea auth-logo (compania/software), re-rezolvat pe sarcina de configurare tematică; nu sunt necesare modificări ale call-site-ului

  4. · kamo-internal

    LabelManager identitate software UI + titlu tab intern

    - Informatii Companie: numele software/numele scurt + numele de login/registru + selectatorii tab-titlu - Branding: upload-uri complete/simplu logo, comutaţii de suprafeţe Selectoare de identitate (semnal de apă, navpri, logo-uri de autentificare/înregistrare) - suprafeţe legale forţate comunicate ca întotdeauna-companie (documente/email/facturi/etc.) - aspect: titlu fila browser intern rezolva prin intermediul internTabBrandSource

  5. · kamo-internal

    Ghidaj org în 3 etape (creare → finisare DNS → intrare)

    Generalizează-l pe primul erou într-un singur panou de ghidare conştient de scenă. privind numărul de organe deținute de membru + statutul DNS (din /api/security/org/my-reţeles): creați dns Introdu-l pe proprietarul 1, DNS complet → introduce-l (intra-ca OTK → intern. <domeniul >) Odată ce deţin o a doua org, nici un panou arată ei cunosc corzile. DNS-pending reflectă exact regula paginii rețelei (domeniul custom & & domeniuSetupComplete===fals; a *.kamocrm.com org nu are nevoie de DNS). Fiecare etapă are propria familie de accent (Persoane/Munca/Crm), pictogramă și copiere; CTA este un link pentru creare/dns și un asinc introduce acțiunea pentru etapa gata. Seif (fără panou) pe orice eroare de preluare.

  6. · kamo-internal

    Dual company/software responsor + livration + consum

    - Organization.ts: livreaza identitatea software-ului + selectoare per-suprafata prin OrgContext - Brand.ts: *************** (+vitest, 8 cazuri) - TemaLogo: logoSoftware/logoFullSoftware variante - NavPri: logo navpri + text follow the Intern Software Logo Selector - Backdrop: filigran onorează identitatea software-ului (ambele căi)

  7. · SecurityService

    Tipuri de upload software + config.json coace

    - upload Logo: obiect explicit-cheie comutator *************** cu respingerea implicit, astfel încât un software upload nu poate bloca logo-ul companiei.svg - copyFolder: conservă logo-urile software încărcate pe șablon re-copiere - config.json: coace identitatea software-ului + auth-suprafață selectatoare pentru autentificare/înregistrare - teste: UploadLogoObjectKeyTest, buildConfigJson

  8. · kamo-shared-library

    Adaugă coloane de branding cu etichetă albă în organizație

  9. · kamo-shared-library

    Câmpuri de branding a software-ului Persist via patchOrganization whitelist

  10. · kamo-internal

    Primul erou CTA pentru membrii de pe platforma org

    Arată un erou la bord în partea de sus a placii de lansare acasă invita un Membru KamoCRM-platformă (nu membru al echipei) care nu a creat încă o copil org pentru a roti în sus prima lor organizație alb-etichetă. Un proeminent Butonul CTA și o linie "click aici" leagă ambele rute către /rețea/creare; şi copia indică "My {ranches} " nav de mai sus. Gated on userInfo.memberType ==Member + organization.isTopLevel; stays Ascuns cu excepţia cazului în care /api/securitate/org/my-reţelele confirmă că nu deţin niciun copil Orgaţi-vă şi veţi fi în siguranţă la orice greşeală. Urmează instrumentul Limba de proiectare panou (accentul persoanelor, kglass, eticheta operatorului, casa Usor, cu motor redus). Strings sub casa. Primul Org.

  11. · VOIPService

    TURN-REST Acreditari obiectiv pentru softphone mobil

    GET /api/voip/turn/credentials ments efemeral coturn creads (HMAC-SHA1 over) "<expiry>:<memberId>" cu secretul static-aut comun) atât de nativ/celular WebRTC poate transmite prin 47.181.8.84:3478. Auth prin același X-***-Token SIP utilizări ale obiectivului; returnări configurate: false (numai STUN) atunci când secretul este absent. Fire KAMO TURN SECRET din *** (opțional).

  12. · SecurityService

    Expuneți per-org primarColor + URL-uri logo pe /mi-rețele

    Fiecare rând de org poartă acum prima Color (Organization.colors.colorPri, '#'-prefix pentru a se potrivi config.json) și logo-ul derivatUrl/logoSimpleUrl (theme.<domain>/public/ logo-uri și per-org hex-cap de frontieră culori.

  13. · MediaService

    Snapshot web-chat de integrare id pe suport vizitator + bilet

    Rezolva integrarea WebChat prin crearea KeyHash (enabled-filtrate, consistent cu boottrap() / AI-prompt rezoluție) o dată în creareSuportSesssion și timbre ID-ul său pe ambele PublicChatVisitor și SuportTicket pentru atribuirea per-website. Null/blank keyHash sau nici o potrivire activată integrarea lasă coloanele nule.

  14. · AIService

    Per-integrare publică AI prompt + atribuirea sesiunii

    Upgrade public-chat sistem-prompt cascada de la per-org la per-integrare: PublicAiChatController citește acum X-Public-Chat-Key-Hash antet (nullable) transmis de APIService și Trece la ************* care rezolvă problema WebChatIntegration by hash și preferă AiSystemPrompt peste AiOrgSettings implicit, care se încadrează înapoi la prompt generic. ă AiChatSesssion este, de asemenea, ştampilat cu webChatIntegrationId pentru atribuirea stabilă care supraviețuiește rotație cheie. Extras cascada într-o soluție statică, testată în unitate Prompt ajutor (integrare-wins / org-fallback / generic-fallback / ok ).

  15. · APIService

    GET /api/public-chat/bootstrap gateway route

    Adăugați obiectivul boottrap care reutilizează conducta proxyWithAuth existentă (validarea cheii + originea opt-in + domeniul de aplicare PUBLIC CHAT + limita ratei + X-Public-Chat-Key-Hash) și proxies la obiectivul de boottrap MediaService.

  16. · MediaService

    Rezolvator de configurare a bootstrap public-chat

    Adaugă un GET intern *** *** *** *** *** *** care rezolvă o WebChatIntegration by X-Public-Chat-Key-Hash and returns its resoluted design/comportament config (completat implicit prin WebChatDefaultConfig.merge astfel încât o cheie cu nici un rând de integrare încă redă ca widget-ul de astăzi). Se întoarce la org PublicChatApiKey activ atunci când nici o integrare există; 404 atunci când hash cheie nu se rezolvă deloc.

  17. · MediaService

    WebChatIntegration CRUD (minte cheie + integrare, org-scoped)

    Managementul cu vedere spre Org API pentru fila de setări faza-2. On creați, menționați PublicChatApiKey (aceeași abordare cheie-gen ca publicChatKeyController) alături de rândul WebChatIntegration și înapoiază cheia brută o dată. Lista/obținerea/actualizarea/eliminarea sunt proprietatea org verificat; actualizarea busturi cache (task-5) bootstrap atunci când designConfig sau modificări activate.

  18. · kamo-shared-library

    Adaugă coloane de atribuire WEB CHAT INTEGRATION ID pentru vizitatori/bilet/ai-sesiune

  19. · kamo-shared-library

    Entitatea de integrare WebChat + repo + DTO + configurare de proiectare implicită

  20. · kamo-internal

    Adaugă "Access Copilot Mobile App" puncte de intrare acasă + NavPri

    Ambele suprafeţe expediază un eveniment de interacţiune deschisă pe care NavTop îl ascultă pentru a deschide Centrul de Interacţiuni în fila Setup Mobile App. Acasă arată o etichetat pilula sub controlul tapetului; NavPri arată o pictogramă logo sub pilula de studiu (etichetă atunci când este extinsă, vârful uneltei atunci când sa prăbușit). Ambele poarta de ALLOW MOBILE ACCESS dreapta.

  21. · kamo-internal

    Poartă parola QR, fila cu o singură linie, antet stânga logo, cod 10 min

    - Membrul trebuie să-şi reintroducă parola (server verificat prin /api/mobile-access-otk, care ments OTK numai pe succes) înainte de QR este dezvăluit la un calculator deja semnat-in de la hapsân-l. - QR/OTK trăieşte acum 10 minute (600s); numărătoarea inversă apoi se reblochează. - eticheta fila fortata pe o linie; logo-ul mutat la stanga titlului pentru a salva spatiul vertical; a eliminat pastila "Configurare pentru.".

  22. · SecurityService

    POST *********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************

    Verifica parola apelantului propriu (passwordEncoder. meciuri împotriva sesiunii lor utilizator) fără a schimba nimic. Folosit de ruta mobil-acces-otk BFF astfel încât configurarea QR este menţionată numai după reconfirmarea parolei.

  23. · kamo-internal

    Configurați tab-ul de acces mobil

    Noua a treia filă în NavTopPanel (de culoare ALLOW MOBILE ACCESS dreapta): arată o marcă QR codarea unei legături profunde OTK de scurtă durată (kamocopilot://configurare) care semnează membru pe telefonul lor și defaults aplicația la org curent. Reîmprospătare automată OTK înainte de expirare; lustruirea MU cu culoarea primară a orgului. Adaugă

  24. · kamo-shared-library

    Adaugă dreptul general al copilotului mobil la ALLOW MOBILE ACCESS (167)

    Nou RolRightType (ServiceType=null → Grupul General) Gating 'Setup Mobile Access' interaction-center tab. RoleRightsSyncService îl completează la toate rolurile privind repornirea serviciului de securitate; apare sub Permisiuni generale în editorul de roluri.

  25. · AIService

    Pe-org publice prompt, om-mână pe nici un furnizor, anon zilnic mesaj capac

  26. · kamo-shared-library

    Adaugă o cerere de numărare a utilizării pentru cota de chat publică

  27. · APIService

    Verificați *** PoW la marginea sesiunii publice crea (înființat atunci când sarcina utilă prezentă)

  28. · MediaService

    Bust APIService cheie cache imediat pe tasta de chat public pentru a comuta / șterge

  29. · MediaService

    Persist crearea hash cheie pe public-chat vizitator + bilet pentru atribuire

  30. · kamo-shared-library

    Adaugă publicDailyMessageCap la AiOrgSettings pentru cota de chat

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