Changelog
Co nowego.
Każde ulepszenie platformy, jak to wysyła.
· SecurityService
Dołącz opis org w config.json
Dodaj pole opisu do kompilacjiConfigJson() i pass org.getDescription() Od writeConfigFiles() więc tematyczny config.json nosi org. Opis frontendów do użycia w metatagach HTML.
· kamo-internal
Lista biletów kolorowych na całym świecie przez połączenie czatu requestor
· MediaService
Dodaj zapytanie o obecność agentów listy biletów
· kamo-internal
Dodaj do koszykaCompany to market popup i firmaName do leadów
Dodaj/edit popup (LeadMarketManager): - Radio sterowanie "Nazwa firmy łamie" / "Tylko indywidualne" (wymagane) - Domyślnie, aby nie zostać ustawione na nowym rynku; wstępnie wypełniają w edycji - Zatwierdzony i wysłany jako includeCompany w formularzu / uaktualnieniu Ołowiu sieci danych (LeadManager): - Kolumna firmy pokazuje firmęName dla leadów z uwzględnieniem rynków spółek - Pokazuje "No Specified", gdy zawieraCompany?true, ale imię jest puste - Pokazuje "—" dla rynków, na których obejmuje Konsumowane-false/null - Szybkie wyszukiwanie (AG Grid quickFilter) automatycznie zawiera wartości firmy Tworzenie formularza lead (CreateLeadClient): - Kondycjonalnie renderuje pole tekst Nazwa firmy, gdy rynek zawieraCompany-true - Pole jest opcjonalne (maksymalne 50 znaków), podłączone do obciążenia nakładkowego za pośrednictwem leadówApi LeadApi: firmaName mapowana za pomocą createLead i updateLyLead
· InitializerService
Dodaj include_company i kolumny nazwy firmy
LeadCompanyColumnRunner (Zamówienie 40) idempotentnie dodaje: - lead_markets.include_company (BOOLEAN, znieważalny) — śledzi, czy a toa Rynek wymaga nazwy firmy na leadach - lead.company_name (VARCHAR(50), znieważalny) — przechowuje nazwę firmy na Poziom wiodący, gdy rynek ma zawierałCompany?true
· SecurityService
Ekspozycje obejmują Konferenię w odpowiedziach na wloty i rynkowi
Zarówno - jak i . Teraz umiedź flagę w tym firmie, aby Frontend wiedział, czy pokazać Nazwa firmy na temat tworzenia leadów.
· kamo-shared-library
Dodać dodaj Company do LeadMarket i firmęName do Lead
- Podmiot LeadMarket otrzymuje w tym_kompanie (Boolean, nieważne) - Podmiot wiodący otrzymuje nazwę firmy (String, max 50, znieważalny) - LeadMarketDTO, CreateLeadMarketRequest, UpdateLeadMarketRequest carry includeCompany - LeadDTO prowadzi firmęName i ujawnia posiadaKomię wewnątrz MarketInfoDTO - ? nośność firmyName - Przewody LeadMarketService obejmują firmę na utworzeniu / aktualizacji - LeadService przewody firmName na tworzeniu / aktualizacji i zachowuje ją w konwersji typu kredytu hipotecznego
· kamo-internal
Pokaż ścieżkę typu sprzedaży w Add Lead subtitle
Zgaś typ sprzedaży na rynku i podtyp do linii "Dodany do" Forma odzwierciedla etykiety używane w wyskakującym okienku Edit Market w - Oddychać, jak "Dodanie do "Market" (usługa > Mortg hipoteczny mieszkaniowy), gdy podtyp jest podtyp Zestaw, "Dodanie do "Market" (Service)”, gdy tylko rodzic jest ustawiony, oraz "Dodanie do "Market" gdy nie jest ustawiony żaden typ sprzedaży.
· kamo-internal
Unified PhoneSdk obsługujący RingCentral + sip.js (FreePBX)
Hak softfonowy używany do bezwarunkowego połączenia ringcentral-web-phone, Który rzucił dowolny kształt poświadczeń FreePBX, ponieważ ten SDK jest zakodowany na twardo Format rezerwowy RingCentral WSS. - Nowy interfejs PhoneSdk definiuje powierzchnię agnostyczną (start, stop, Zaprosić, plus a PhoneSdkSession with . . - RingCentralPhoneSdk owija ringcentral-web-phone, zachowując istniejący Zachowanie RC. - SipJsPhoneSdk okłada się sip.js (UserAgent + Registerer + Inviter/Invitation), Dołącza zdalne audio poprzez wynegocjowane połączenie peer, obsługuje Re-dialog re-INVITE dla zatrzymania/odczepy i odnosi się do transferu. - createPhoneSdk wybiera adapter z creds.provider (RING_CENTRAL, FREE_PBX, KAMO_PBX). - useSoftphone teraz napędza ujednolicony SDK i pojmuje prawdziwy błąd SDK Tekst w rejestracjiError zamiast ogólnego 'Phone SDK nie udało się W początkowej sprawiej sznurku. - Dodaje zależność sip.js - 0,21,2.
· VOIPService
Poświadczenia SIP WSS-aware dla softfonów przeglądarki
Punkt końcowy /api/voip/sip/credentials zwraca teraz poprawki po stronie przeglądarki SIP stack może faktycznie używać: transportu WSS, domeny publicznej i adresu URL serwerów wsServers. - SipController rozwiązuje MemberVoipConfig członka, VOIP jest poprawnym VOIP Włączone i rozszerzenie jest przypisane, a następnie trasy do konkretnego członka Instancja (nie główna org). Zwraca opisowe 409s, gdy członek Nie jest skonfigurowany, a nie produkuje pustych poświadczeń. - SipInfo zyskuje serwery dla SIP-over-WebSocket; SipCredentialsResult gains Dostawca tak, aby frontend wybrał odpowiedni adapter SDK (RingCentral WebPhone SIP.js dla FreePBX/KamoPBX). - FreePBXProvider czerpie domenę SIP z skonfigurowanej bazyUrl i Domyślnie wsServers to wss://'host>:8089/ws. Przepisy na perytance (sipDomain, sipWsServer, sipWsport, sipTransport) czytane z konfigJsona Obejmują podzielone rozmieszczenia, w przypadku gdy SIP kończy się na innej nazw hosta lub Traefik kończy TLS na /ws w porcie 443. - PhoneProviderFactory analizuje nowe opcjonalne pola i pasze configJson Wgrają w rekord SipTransportConfig na FreePBXProvider. - RingCentralProvider oznacza swoje poświadczenia z dostawcą-RING_CENTRAL.
· KlusterServices
Dodaj transport WSS WebRTC do softphones browser
Asterisk's chan_pjsip teraz wiąże zwykły transport WebSocket pod numerem 0.0.0.0:8089 Traefik kończy TLS na ? (port 443) Więc kamo-wewneci może zarejestrować softphoney do przeglądarki na istniejącej dzikiej karcie Cert bez zarządzania certs wewnątrz kapsuły. - konfigmap-k1m1.yaml: startup.sh pisze pjsip.transports_custom.conf z Transport WS i pjsip.endpoint_custom_post.conf z webrtc-yes overrides w przypadku istniejących rozszerzeń (8080, 2523), przypiętych do transportu WS. - service.yaml: narażenie portu 8089 (pyłki) w usłudze freepbx, więc nowy IngressRoute może go celować; kapsuła jest na hostNetwork, więc ta mapuje do K1m1 port gospodarza 8089. - ingressute-ws.yaml: HostRegexp + PathPrefix(/ws) w priorytecie 100 tras WebSocket uaktualnienia do freepbx:8089 - bez" kamo-middlewares łańcuszczosnek — Ten łańcuch zawiera kompres, który uszkodziłby ramy SIP-over-WS.
· SecurityService
Dodaj /names endpoints idname idname dla wszystkich członków, niezależnie od stanu
Filtry punktu końcowego do aktywnych TeamMembers, ale rozszerzenie Zadania mogą odnosić się do członków bazowych lub nieaktywnych członków. Użyj /names for Rozdzielczość ID-aname, w której zasięg ma większe znaczenie niż stan działalności.
· kamo-internal
Dodany ołowiu do koszyka Ołowiu w /liads/nowe
Refactor Dodaj ołów z wielotabowej szyby na dedykowaną trasę W /leads/new, dzięki czemu można go połączyć bezpośrednio. Aktualny rynek jest uchwalony Przejść jako ?marketId i wstępnie wyselekcjonowany. Rynek wiodący, dostawca i produkt Teraz jest to wymagane; kontakt wymaga co najmniej jednego z pierwszych/last/preferowanych Imię i nazwisko oraz e-mail lub telefon. Obszary podtypowe kredytów hipotecznych i dowolny rynek Niestandardowe pola oznaczone jestDisplayOnIntake są renderowane w linii. Włączone Sukces, przekierowania na /leads/view/'id'.
· SecurityService
Dodać : punkt końcowy
Zwroty sprzedażyType, subType i customForms dla rynku przez marketId Dodać formularz ołowiu może renderować pola podtypowe i niestandardowe formularze typu Bez pierwszego tworzenia ołowiu.
· kamo-internal
Dodaj Wyświetlacz na przełączniku wejniaj, automatyczne blokowanie po włączeniu wymaganego
· kamo-internal
Dodaj jestDisplayOnIntake do FormField TypeScript
· kamo-shared-library
Coerce isDisplayOnIntake-true, gdy jest Wymagany?true w usłudze CustomFormService
· kamo-shared-library
Dodaj jestDisplayOnIntake, aby utworzyć / aktualizować żądania DTO
· kamo-shared-library
Expose isDisplayOnIntake w FormFieldDTO
· kamo-shared-library
Dodaj kolumnę IS_DISPLAY_ON_INTAKE do podmiotu FormField
· kamo-internal
Link przypisane imię i nazwisko członka do strony ustawień telefonu
· kamo-internal
Dodaj wyświetlanie nazwy członka i przycisk nieprzypisu do karty rozszerzeń na instancji
· kamo-internal
Pokaż nazwy członków i dodaj kartę Unassign action to org-level extensions
· kamo-internal
Konfiguracja Wire VOIP do selekcjonerów dostawców + rozszerzania z egzekwowaniem przydziału
· kamo-internal
Dodawanie typowych DTO, nieprzypisanej metody API i aktualizuj typy MemberPermissionsTab VOIP
· VOIPService
Dodaj punkt końcowy przydziału DELETE do VoipExtensionsStroller dla administratora nieprzypisu
· VOIPService
Dodaj MemberVoipConfig Administrator dla członka VOIP config z rozszerzeniem
· kamo-shared-library
Dodaj findByAssignedMemberId metody zapytań do PhoneExtensionRepository
· kamo-internal
Persist aktywne skrzynka pocztowa w paramach zapytań URL
Przełączanie skrzynek pocztowych teraz aktualizuje adres URL (?mailboxType, ?mailboxId, ?mailbox) Tak więc odświeżenie przeglądarki przywraca tę samą skrzynkę pocztową. WiadomośćBrowser czyta window.location.search w swoim leniwym użyciuStany initializer do przywrócenia activeMailbox przed pierwszym renderem i przesyła aktualizacje adresów URL za pośrednictwem Router.zastępować na każdym zdarzeniu zmienianym skrzynką pocztową. FolderSidebar czyta To samo URL params po getAccessibleMailboxes rozwiązuje się tak, aby rozwinięcieło się Odzwierciedla przywróconą selekcję.
· kamo-marketing
Dodaj Flowroute do strony koncentratu integracji

Twój wszechświat czeka.
Rozpocznij bezpłatnie w kilka minut.Dodaj produkty, kiedy tylko będziesz gotowy — bez migracji, bez nowych logowań.
Bezpłatne na zawsze — nie wymaga karty kredytowej