# Release — Sprint 25 **Data:** 2026-07-27 ## Versões | Projeto | Versão | |----------------|--------------| | Admin | 3.3.14 | | DoncMobile.App | 3.6.3 (66) | | DoncMobile.API | 3.5.11 | | WebHubDonc | 2.4.13 | | Servico | 3.0.29 | | ApiV2 | 3.0.28 | ## Release Notes ### Admin — v3.3.14 - **[feature]** Dashboard — widget Equipe em Campo com distribuição de versões, grupos expandíveis, Versão Legada e link para OS (@jessica) - **[fix]** Dashboard — corrigir configuração de widgets (ocultar, reload gráfico/mapa, cabeçalhos gatilhos) (@jessica) - **[improvement]** Dashboard — retry automático (3 tentativas) nos widgets Equipe em Campo e Integração (@jessica) - **[improvement]** ApiLogs — performance no JOIN de não processados com JSON_VALUE (@jessica) - **[fix]** ApiLogs — ocultar campo Empresa quando filtro vier do dash (@jessica) - **[feature]** Campo ReferenciaRota na integração e Referencia na Rota — coluna no Grid de Rotas e cabeçalho da OS (@jessica) - **[feature]** Criar flag para criação de OS a partir do tipo de problema (@jessica) - **[fix]** Bug ao excluir Item em Clone de OS — splice sem deleteCount removia todos os itens subsequentes (@tiago) - **[fix]** "Email já está em uso" ao editar cliente sem trocar o e-mail (@tiago) - **[fix]** Merge cross-tenant de Clientes — 10 pontos de integração/cadastro corrigidos, mitigação no Grid de Clientes (@tiago) - **[feature]** Cadastro de Ajudantes separado de Motoqueiros — CRUD completo + importação CSV (@tiago) - **[fix]** Erros de processamento na fila de integração Lojas MM — Sequence, Email e validação de parceiro (@jessica) ### DoncMobile.App — v3.6.3 (66) - **[fix]** Erro ao capturar foto — foto não salva e reinício do app v3.6.0 #2988 (CameraService + FileProvider + recovery automático) (@jessica) - **[fix]** Erro na aba "Recebimentos" — R$0 para profissional com comissão sobre total (@jessica) - **[feature]** Fotos extras em pedido de peças — coleção "Fotos do Produto Montado" (@tiago) - **[fix]** Fila de sincronização perdia ajudante ao selecionar mais de um na OS (@tiago) - **[fix]** Data de criação da OS exibida igual à data de agendamento #3017 (@tiago) ### DoncMobile.API — v3.5.11 - **[improvement]** Atualizar DataUltimoContato ao chamar sincronizacao-core (@jessica) - **[feature]** Endpoint DoncCx — listar profissionais x versão, último login e última OS (@jessica) - **[feature]** Processar checklist MMS — PedidoStatus formatado + status Em Rota 850 (@jessica) - **[feature]** Finalizar OS automaticamente ao receber ocorrência 990 da MMS (@jessica) - **[feature]** Criar flag para criação de OS a partir do tipo de problema — FilaCriacaoPedido (@jessica) - **[feature]** Cadastro de Ajudantes — sincronização em tempo real atualizada (@tiago) ### WebHubDonc — v2.4.13 - **[feature]** Implementação do fluxo de improdutivo no webhook MMS — parte 1/2 (MmsImprodutivosService, 29 códigos) (@jessica) - **[feature]** Encaminhamento do retorno improdutivo para a MMS — parte 2/2 (@jessica) - **[feature]** Endpoint cancelar-mms — cancelamento de OS na MMS (@jessica) - **[feature]** Arquitetura de ações internas — IAcaoInternaService + AcaoInternaFactory + SipolattiService (@jessica) - **[feature]** Finalizar OS automaticamente ao receber ocorrência 990 da MMS (@jessica) - **[feature]** Endpoint DoncCx — dados de versão/login/OS por profissional (@jessica) ### Servico — v3.0.29 - **[fix]** Merge cross-tenant de Clientes — integrações Berlanda, Iris, IXC, MK, HubSoft, Cybelar corrigidas (@tiago) - **[feature]** Arquitetura de ações internas — Servico chama factory após PostSchedule (@jessica) ### ApiV2 — v3.0.28 - **[fix]** Merge cross-tenant de Clientes — ApiBaseController, ClientesController, JobsBerlandaController (@tiago) - **[feature]** Campo ReferenciaRota na integração — Jobs.cs + ApiBaseController (@jessica) - **[fix]** Erros de processamento na fila de integração Lojas MM — validação de parceiro no endpoint (@jessica) ## Guia de Testes — QA ### Ambientes | Projeto | Onde testar | |----------------|------------------------------------| | Admin | admin.teste.donc.com.br | | DoncMobile.App | Play Store Closed Testing (Alpha) | | DoncMobile.API | apimobile.dev.donc.com.br | | WebHubDonc | webhub.teste.donc.com.br | | Servico | (backend — sem URL direta) | | ApiV2 | api.teste.donc.com.br | ### Admin - [ ] Dashboard: widget Equipe em Campo exibe profissionais com versão, último login e última OS por cliente - [ ] Dashboard: grupos de versão são expandíveis; Versão Legada aparece corretamente - [ ] Dashboard: ocultar widget de Integração e Gatilhos salva e aplica sem reload da página - [ ] Dashboard: gráfico e mapa recarregam corretamente após salvar configuração de widgets - [ ] Dashboard: widget Equipe em Campo e Integração fazem retry automático em falha transiente - [ ] ApiLogs: filtro "Processada: Não" retorna resultados rapidamente (sem scan completo) - [ ] ApiLogs: ao acessar via link do dashboard, campo Empresa fica oculto - [ ] Grid de Rotas: coluna Referência exibe o valor enviado pela Sipolatti - [ ] Detalhe da OS: cabeçalho exibe código e referência da rota quando preenchidos - [ ] TipoProblema: checkbox "Criar OS vinculada?" aparece e persiste corretamente - [ ] Clonar OS: excluir um item remove apenas o selecionado, não os subsequentes - [ ] Clientes: editar cliente sem trocar e-mail não exibe "Email já está em uso" - [ ] Clientes: Grid não exibe clientes cross-tenant de outros contratos - [ ] Ajudantes: CRUD completo — listar, adicionar, editar, importar CSV - [ ] ApiLogs: coluna Status exibe status da FilaIntegracaoPedido para logs da fila (Lojas MM) ### DoncMobile.App - [ ] Tirar foto durante execução de OS não causa reinício do app - [ ] Foto é salva corretamente mesmo se o processo for interrompido (recovery automático) - [ ] Aba Recebimentos exibe valores corretos para cliente com comissão CalcularComissaoSobreValorTotal - [ ] Pedido de peça: seção "Fotos do Produto Montado" aparece e aceita múltiplas fotos - [ ] Selecionar 2 ou mais ajudantes na OS persiste todos no banco - [ ] Detalhe da OS exibe data de criação diferente da data de agendamento ### DoncMobile.API - [ ] Após sincronização, DataUltimoContato do profissional é atualizado no dashboard - [ ] Endpoint DoncCx retorna versão do app, último login e última OS por profissional - [ ] Checklist recebido da MMS gera PedidoStatus com status 850 e HTML formatado - [ ] Ocorrência 990 da MMS finaliza a OS automaticamente (status 1500) ### WebHubDonc / Integração MMS (Sipolatti) - [ ] Ocorrência de improdutivo da MMS gera JobProblema com profissional mms@sipolatti.com.br - [ ] Retorno improdutivo (StatusId=2000) é encaminhado à MMS com tpmtg=I - [ ] Endpoint cancelar-mms cancela a OS na MMS (DELETE) - [ ] Após PostSchedule com cancelamento: SipolattiService chama cancelar-mms automaticamente - [ ] Ocorrência 990 da MMS finaliza a OS e dispara WebHooks.StatusChanged ### Servico / Integrações - [ ] Berlanda, Iris, IXC, MK, HubSoft, Cybelar: clientes do mesmo CPF/e-mail em contratos diferentes não são mesclados