Changelog
O que há de novo.
Cada melhoria para a plataforma, como ele envia.
· SecurityService
Incluir a descrição de org no config.json
Adicionar campo de descrição para buildConfigJson() e pass org.getDescription() de writeConfigFiles() assim que o tema config.json carrega o org's descrição para frontends a usar em meta tags HTML.
· kamo-internal
Cor da lista de tickets globo por conexão de chat requestor
· MediaService
Adicionar pesquisa de presença do solicitante para agentes da lista de tickets
· kamo-internal
Adicionar incluirEmpresa ao popup de mercado e nome da empresa para leads
Popup de adição/edição de mercado (LeadMarketManager): - Controle de rádio "Track Company Name" / "Individual Only" (obrigatório) - Defaults para desactivar no novo mercado; pré- preenchimentos na edição - Validada e enviada como includeEmpresa em pedido de criação/atualização Datagrid líder (LeadManager): - coluna da empresa mostra nome da empresa para leads de includeCompany mercados - Mostra "Não especificado" quando includeCompany=true mas o nome está em branco - Mostra "—" para mercados onde incluemEmpresa=false/null - Pesquisa rápida (AG Grid quickFilter) automaticamente inclui valores da empresa Criar o formulário principal (CreateLeadClient): - Condicionalmente faz companhia Nome campo de texto quando o mercado incluirEmpresa=verdadeira - Campo é opcional (máximo de 50 caracteres), ligado à carga útil de envio via leadsApi leadsApi: empresa Nome mapeado através de createLead e updateLead requests
· InitializerService
Adicionar colunas include company e nome da empresa
LeadCompanyColumnRunner (Order 40) acrescenta de forma imediata: - lead markets.include company (BOOLEAN, nullable) — rastreia se a mercado requer nome da empresa em leads - leads.company name (VARCHAR(50), nullable) — nome da empresa o nível de chumbo quando o mercado tiver incluídoEmpresa=verdadeira
· SecurityService
Expor incluirEmpresa em intation-config e market-config respostas
Ambos... E... agora inclui a bandeira includeEmpresa para que o frontend saiba se deve mostrar o campo de nome da empresa na criação de chumbo.
· kamo-shared-library
Adicionar incluirEmpresa ao LeadMarket e empresaName ao Lead
- entidade LeadMarket recebe include company (Boolean, nullable) - entidade líder recebe company name (String, max 50, nullable) - LeadMarketDTO, CreateLeadMarketRequest, UpdateLeadMarketRequest carry includeEmpresa - LeadDTO carrega empresaNome e expõe incluemEmpresa dentro MarketInfoDTO - Está bem. companhia de transporteName - LeadMarketService fios incluemEmpresa na criação / atualização - LeadService fios empresaNome na criação/atualização e preserva-lo em conversões tipo hipoteca
· kamo-internal
Mostrar o caminho do tipo de vendas em Adicionar Legenda de Lead
Anexar o tipo de venda e o subtipo do mercado à linha "Adicionar a" o formulário espelha as etiquetas usadas no menu de contexto Editar Mercado em **************************** Renders como "Adicionar a {Mercado} (Serviço > Hipoteca Residencial)" quando um subtipo é definir, "Adicionar ao {Market} (Service)" quando apenas um pai está definido, e "Adicionar ao {Market}" quando nenhum tipo de venda é definido.
· kamo-internal
Telefone unificadoSdk suportando RingCentral + sip.js (FreePBX)
O gancho softphone usado para instanciar ringcentral-web-phone incondicionalmente, que jogou em qualquer forma de credencial FreePBX porque que SDK é hard-coded para Formato de provisionamento WSS da RingCentral. - Nova interface PhoneSdk define uma superfície de diagnóstico do provedor (start, stop, Convite. mais um TelefoneSdkSession com... - RingCentralPhoneSdk envolve ringcentral-web-phone, preservando o existente Comportamento de RC. - SipJsPhoneSdk envolve sip.js (UserAgent + Register + Convidador / Convite), liga o áudio remoto através da conexão negociada por pares, suporta in-dialog re-INVITE para hold/unhold, e refere-se para transferência. - createPhoneSdk escolhe o adaptador de creds.provider (RING CENTRAL, FREE PBX, KAMO PBX). - useSoftphone agora dirige o SDK unificado e superfícies do erro real SDK texto no registoErro em vez do genérico 'Phone SDK falhou inicializar ' string. - Adiciona dependência sip.js@0.21.2.
· VOIPService
Credenciais SIP com conhecimento de WSS para softphones de navegador
O endpoint /api/voip/sip/credentials agora retorna credenciais ao lado do navegador SIP stack pode realmente usar: transporte WSS, domínio público e uma URL wsServers. - SipController resolve o MemberVoipConfig do membro, valida VOIP é habilitado e uma extensão é atribuída, em seguida, rotas para o membro específico instância (não a primária da org). Retorna descritivo 409s quando o membro não está configurado em vez de produzir credenciais vazias. - SipInfo ganha wsServers para SIP- over- WebSocket; SipCredenciais Ganhos resultantes provedor assim que o frontend escolhe o adaptador SDK direito (RingCentral WebPhone vs SIP.js para o FreePBX/KamopBX). - O FreePBXProvider deriva o domínio SIP da base configuradaUrl e padrão wsServers para wss://<host>:8089/ws. Substituições por instance (sipDomain, sipWsServer, sipWssPort, sipTransport) read from configJson cobrir implantações divididas em que o SIP termina com um nome de máquina diferente ou Traefik termina TLS em /ws na porta 443. - PhoneProviderFactory analisa os novos campos e feeds de configJson opcionais eles em um registro SipTransportConfig no FreePBXProvider. - RingCentralProvider marca suas credenciais com provedor=RING CENTRAL.
· KlusterServices
Adicionar transporte WSS WebRTC para softphones do navegador
O chan pjsip do Asterisco liga agora um transporte simples do WebSocket em 0.0.0.0:8089 e Traefik termina TLS em **************** (porto 443) assim o kamo-internal pode registrar softphones do navegador sobre o wildcard existente cert sem controlar certs dentro da cápsula. - configmap-k1m1.yaml: startup.sh escreve pjsip.transports custom.conf com o Transporte WS e pjsip.endpoint custom post.conf com sobreposições webrtc=yes para as extensões existentes (8080, 2523), fixadas ao transporte WS. - service.yaml: expor a porta 8089 (sip-ws) no serviço freepbx para o novo IngressRoute pode segmentá- lo; o pod está no hostNetwork de modo que este mapeia para o Porta 8089 da máquina k1m1. - ingressroute-ws.yaml: HostRegexp + PathPrefix(/ws) na prioridade 100 rotas WebSocket atualiza para freepbx:8089 *sem* a cadeia kamo-middlewares — essa cadeia inclui compress, o que corromperia quadros SIP-over-WS.
· SecurityService
Adicionar /names endpoint retornando id→name para todos os membros, independentemente do estado
Os filtros de endpoint by-department apenas para membros ativos da equipe, mas extensão As atribuições podem remeter membros de base ou membros inactivos. Usar /nomes para ID→name resolution where cobertura importa mais do que estado de atividade.
· kamo-internal
Adicionar um formulário de chumbo em /leades/novo
Refactor Adicionar Chumbo de um painel multi-tab em página em uma rota dedicada em /leades/new para que possa ser ligado diretamente. O mercado actual passou ?marketId= e pré-selecionado. Mercado líder, fornecedor e produto são agora necessários; o contacto requer pelo menos um dos primeiros/últimos/preferidos nome e um de e-mail ou telefone. Campos de subtipo de hipoteca e qualquer mercado campos de forma personalizada marcados isDisplayOnIntake são renderizados em linha. Ligado sucesso, redireciona para /leades/view/{id}.
· SecurityService
- Não. endpoint
Returns salesType, subType e customForms for a market by marketId so o formulário Adicionar Chumbo pode renderizar campos de sub-tipo e formulários personalizados de entrada sem primeiro criar uma pista.
· kamo-internal
Adicionar o Visualizador ao Comutar a Entrada, bloqueando automaticamente quando necessário estiver ativado
· kamo-internal
Adicionar isDisplayOnIntake para tipos FormField TypeScript
· kamo-shared-library
Coerce isDisplayOnIntake=true when isRequired=true in CustomFormService
· kamo-shared-library
Adicionar isDisplayOnIntake para criar/atualizar DTOs
· kamo-shared-library
Expose isDisplayOnIntake in FormFieldDTO
· kamo-shared-library
Adicionar coluna IS DISPLAY ON INTAKE à entidade FormField
· kamo-internal
Ligar o nome de membro atribuído à página de configuração do telefone
· kamo-internal
Adicionar a exibição de nome de membro e desatribuir botão à página de extensões por instance
· kamo-internal
Mostrar os nomes dos membros e adicionar a acção Sem atribuir à página de extensões de nível org
· kamo-internal
Configuração VOIP de fio para fornecedores + seletores de extensão com execução de atribuição
· kamo-internal
Adicionar DTOs digitados, não atribuir o método API e atualizar os tipos de membrosPermissionsTab VOIP
· VOIPService
Adicionar o endpoint de atribuição DELETE ao VoipExtensionsController para administração sem atribuição
· VOIPService
Adicionar o membroVoipConfigController para a configuração do membro VOIP com atribuição de extensão
· kamo-shared-library
Adicionar findByAtributedMethods MemberId query to PhoneExtensionRepository
· kamo-internal
Persista na caixa de correio ativa nos parâmetros de pesquisa de URL
Mudando caixas de correio agora atualiza o URL (?mailboxType, ?mailboxId, ?mailbox) tão refrescante o navegador restaura a mesma caixa de correio. O Navegador de Mensagens lê window.location.search em seu uso preguiçosoState inicializer para restaurar ativeMailbox antes da primeira renderização, e empurra atualizações de URL via router.replace em todos os eventos alterados da caixa de correio. PastaSidebar lê o os mesmos parâmetros de URL após o getAccessibleMailboxes resolvem para que o dropdown reflete a seleção restaurada.
· kamo-marketing
Add Flowroute to integrations hub page

Seu universo está esperando.
Comece gratuitamente em minutos.Adicione produtos sempre que estiver pronto — sem migração, sem novos logins.
Gratuito para sempre — não é necessário cartão de crédito