| Ambos lados da revisão anterior Revisão anterior Próxima revisão | Revisão anterior |
| pres:gerti:gestao_de_ativos:portal:er_008 [07/07/2026 20:32] – pramorim | pres:gerti:gestao_de_ativos:portal:er_008 [31/08/2026 20:24] (atual) – pramorim |
|---|
| |
| ^Elemento^Tipo^Obrigatório^Valores Possíveis^Valor Padrão^Observação| | ^Elemento^Tipo^Obrigatório^Valores Possíveis^Valor Padrão^Observação| |
| |Botão "Quero acompanhar"|Botão|-|-|-|Exibido no estado //idle//. Abre o formulário de e-mail ao ser clicado.| | |Botão "Quero acompanhar"|Botão|-|-|-|Exibido no estado //idle//. Abre o formulário de e-mail **na própria página**, sem diálogo sobreposto.| |
| |Cabeçalho do formulário|Texto|-|-|"Acompanhar processo nº {numero}"|Exibido nos estados //formulario// e //loading//. O número do processo é preenchido dinamicamente.| | |Cabeçalho do formulário|Texto|-|-|"Acompanhar processo nº {numero}"|Exibido nos estados //formulario// e //loading//. O número do processo é preenchido dinamicamente.| |
| |E-mail|Campo texto|Sim|Formato RFC 5322|Vazio|Exibido nos estados //formulario// e //loading//. Deve conter um endereço de e-mail válido (RN01). Exibe mensagem de erro inline "Informe um e-mail válido." quando inválido.| | |E-mail|Campo texto|Sim|Formato RFC 5322|Vazio|Exibido nos estados //formulario// e //loading//. Deve conter um endereço de e-mail válido (RN01). Exibe a mensagem "Informe um e-mail válido." abaixo do rótulo do campo quando o valor informado é inválido **ou** quando o campo não é preenchido.| |
| |Botão "Quero acompanhar" (submit)|Botão submit|-|-|-|Exibido no estado //formulario//. No estado //loading//, é substituído por spinner com texto "Enviando...". Desabilitado durante o processamento.| | |Botão "Quero acompanhar" (submit)|Botão submit|-|-|-|Exibido no estado //formulario//. No estado //loading//, é substituído por spinner com texto "Enviando...". Desabilitado durante o processamento.| |
| |Botão "Cancelar"|Botão|-|-|-|Exibido no estado //formulario//. Retorna o widget ao estado //idle// sem enviar a solicitação. Desabilitado durante o processamento.| | |Botão "Cancelar"|Botão|-|-|-|Exibido no estado //formulario//. Retorna o widget ao estado //idle// sem enviar a solicitação. Desabilitado durante o processamento.| |
| |Título "Inscrição confirmada!"|Texto|-|-|-|Exibido no estado //sucesso// após validação bem-sucedida do token (RN02).| | |Título "Inscrição confirmada!"|Texto|-|-|-|Exibido no estado //sucesso// após validação bem-sucedida do token (RN02).| |
| |Mensagem de confirmação|Texto|-|-|-|Exibido no estado //sucesso//. Texto: "Você receberá notificações por e-mail sempre que o processo nº {numero} for movimentado." O número do processo é extraído do token.| | |Mensagem de confirmação|Texto|-|-|-|Exibido no estado //sucesso//. Texto: "Você receberá notificações por e-mail sempre que o processo nº {numero} for movimentado." O número do processo é extraído do token.| |
| |Botão "Consultar processo"|Botão|-|-|-|Exibido no estado //sucesso//. Redireciona para ''/processos/{id}'' do processo recém-confirmado.| | |Botão "Consultar processo"|Botão|-|-|-|Exibido no estado //sucesso//. Redireciona para ''/processo/{id}'' do processo recém-confirmado.| |
| |Botão "Gerenciar meus acompanhamentos"|Botão|-|-|-|Exibido no estado //sucesso//. Redireciona para ''/acompanhar-processo/gerenciar?token=...''.| | |Botão "Gerenciar meus acompanhamentos"|Botão|-|-|-|Exibido no estado //sucesso//. Redireciona para ''/acompanhar-processo/gerenciar?token=...'', **reaproveitando o token recebido no link de confirmação** (RN02, RN09).| |
| |Lista "Seus processos acompanhados"|Lista de cards|-|-|-|Exibida no estado //sucesso//. Lista os **3 processos mais recentes** vinculados ao e-mail confirmado (ordenados pela data de inclusão do acompanhamento, do mais recente para o mais antigo), incluindo o processo recém-confirmado (RN13). Para ver a lista completa, o usuário acessa "Gerenciar meus acompanhamentos".| | |Lista "Seus processos acompanhados"|Lista de cards|-|-|-|Exibida no estado //sucesso//. Lista os **3 processos mais recentes** vinculados ao e-mail confirmado (ordenados pela data de inclusão do acompanhamento, do mais recente para o mais antigo), incluindo o processo recém-confirmado (RN13). Para ver a lista completa, o usuário acessa "Gerenciar meus acompanhamentos".| |
| |Título "Link inválido ou expirado"|Texto|-|-|-|Exibido no estado //erro// quando o token é inválido ou expirou após 48h (RN02).| | |Título "Link inválido ou expirado"|Texto|-|-|-|Exibido no estado //erro// quando o token é inválido ou expirou após 48h (RN02).| |
| |Indicador de carregamento|Spinner|-|-|-|Exibido no estado //loading// enquanto o token é validado e a lista é carregada. Acompanha o texto "Carregando seus acompanhamentos…".| | |Indicador de carregamento|Spinner|-|-|-|Exibido no estado //loading// enquanto o token é validado e a lista é carregada. Acompanha o texto "Carregando seus acompanhamentos…".| |
| |Identificação do e-mail|Texto|-|-|-|Exibido no estado //lista//. Texto: "Processos acompanhados pelo e-mail: {email mascarado}". O e-mail é parcialmente ocultado pelo servidor.| | |Identificação do e-mail|Texto|-|-|-|Exibido no estado //lista//. Texto: "Processos acompanhados pelo e-mail: {email mascarado}". O e-mail é parcialmente ocultado pelo servidor.| |
| |Card de processo|Card|-|-|-|Exibido no estado //lista// para cada processo acompanhado. Contém: número do processo (link clicável para ''/processos/{id}''), interessado, assunto e ano.| | |Card de processo|Card|-|-|-|Exibido no estado //lista// para cada processo acompanhado. Contém: número do processo (link clicável para ''/processo/{id}''), interessado, assunto e ano.| |
| |Botão "Parar de acompanhar"|Botão|-|-|-|Exibido em cada card no estado //lista//. Abre a confirmação inline no próprio card (RN11).| | |Botão "Parar de acompanhar"|Botão|-|-|-|Exibido em cada card no estado //lista//. Abre a confirmação inline no próprio card (RN11).| |
| |Confirmação inline de remoção|Expansão inline|-|-|Recolhido|Exibida no card após clique em "Parar de acompanhar". Exibe o alerta "Deseja parar de acompanhar este processo?" com os botões "Confirmar" e "Cancelar" (RN11).| | |Confirmação inline de remoção|Expansão inline|-|-|Recolhido|Exibida no card após clique em "Parar de acompanhar". Exibe o alerta "Deseja parar de acompanhar este processo?" com os botões "Confirmar" e "Cancelar" (RN11).| |
| |Título "Acompanhamento cancelado"|Texto|-|-|-|Exibido no estado //sucesso// após remoção bem-sucedida (RN06).| | |Título "Acompanhamento cancelado"|Texto|-|-|-|Exibido no estado //sucesso// após remoção bem-sucedida (RN06).| |
| |Mensagem de cancelamento|Texto|-|-|-|Exibido no estado //sucesso//. Texto: "Você não receberá mais notificações sobre o processo nº {numero}." O número do processo é extraído do token.| | |Mensagem de cancelamento|Texto|-|-|-|Exibido no estado //sucesso//. Texto: "Você não receberá mais notificações sobre o processo nº {numero}." O número do processo é extraído do token.| |
| |Botão "Ver todos os meus acompanhamentos"|Botão|-|-|-|Exibido no estado //sucesso//. Redireciona para ''/acompanhar-processo/gerenciar?token=...'' (RN07).| | |Botão "Ver todos os meus acompanhamentos"|Botão|-|-|-|Exibido no estado //sucesso//. Redireciona para ''/acompanhar-processo/gerenciar?token=...'', **reaproveitando o token recebido no link de cancelamento** (RN02, RN07, RN09).| |
| |Botão "Consultar processos"|Botão|-|-|-|Exibido no estado //sucesso//. Redireciona para ''/processos''.| | |Botão "Consultar processos"|Botão|-|-|-|Exibido no estado //sucesso//. Redireciona para ''/processos''.| |
| |Título "Link inválido"|Texto|-|-|-|Exibido no estado //erro// quando o token é inválido ou já foi utilizado.| | |Título "Link inválido"|Texto|-|-|-|Exibido no estado //erro// quando o token é inválido ou já foi utilizado.| |
| ===== E-mails Enviados ===== | ===== E-mails Enviados ===== |
| |
| Todos os e-mails seguem o padrão visual institucional do TCE-GO e são despachados pelo servidor **`smtp.tce.go.gov.br`**, reaproveitando a camada de serviço compartilhada `IServicoDeEmail`/`ServicoDeEmail` (`TCE.Compartilhado.Servico.Servicos.Contato`), a mesma já utilizada por `ServicoDeUsuarioPush` no legado. O RF-008 não deve implementar um novo mecanismo de envio — apenas montar `DtoEmail` (destinatário, assunto, corpo HTML) e chamar essa camada compartilhada, como já ocorre em `ServicoDeUsuarioPush.EnviaEmail`. Nenhuma ação dos e-mails depende de login — cada link carrega o token correspondente (RN02, RN09) e o ID de autuação do processo, quando aplicável. | Todos os e-mails seguem o padrão visual institucional do TCE-GO, são remetidos pelo endereço **`push@tce.go.gov.br`** e despachados pelo servidor **`smtp.tce.go.gov.br`**, reaproveitando a camada de serviço compartilhada `IServicoDeEmail`/`ServicoDeEmail` (`TCE.Compartilhado.Servico.Servicos.Contato`), a mesma já utilizada por `ServicoDeUsuarioPush` no legado. O RF-008 não deve implementar um novo mecanismo de envio — apenas montar `DtoEmail` (remetente, destinatário, assunto, corpo HTML) e chamar essa camada compartilhada, como já ocorre em `ServicoDeUsuarioPush.EnviaEmail`. Nenhuma ação dos e-mails depende de login — cada link carrega o token correspondente (RN02, RN09) e o ID de autuação do processo, quando aplicável. |
| |
| ==== E-mail 01 – Confirmação de Inscrição ==== | ==== E-mail 01 – Confirmação de Inscrição ==== |
| |
| ^Elemento^Conteúdo^Observação| | ^Elemento^Conteúdo^Observação| |
| | |Remetente|`push@tce.go.gov.br`|Endereço institucional único para os três e-mails do RF-008.| |
| |Assunto|"Serviço de acompanhamento de processos TCE-GO — Confirme o acompanhamento do processo Nº {numero}"|O número do processo é usado apenas para exibição; a comunicação interna do link usa o ID de autuação.| | |Assunto|"Serviço de acompanhamento de processos TCE-GO — Confirme o acompanhamento do processo Nº {numero}"|O número do processo é usado apenas para exibição; a comunicação interna do link usa o ID de autuação.| |
| |Corpo|"Você solicitou o acompanhamento do processo Nº {numero} no Serviço de acompanhamento de processos TCE-GO. Clique no link abaixo para confirmar este acompanhamento."|Não há saudação por nome nem qualquer referência a cadastro/senha — o usuário não preenche esses dados (RN12).| | |Corpo|"Você solicitou o acompanhamento do processo Nº {numero} no Serviço de acompanhamento de processos TCE-GO. Clique no link abaixo para confirmar este acompanhamento."|Não há saudação por nome nem qualquer referência a cadastro/senha — o usuário não preenche esses dados (RN12).| |
| |Botão "Confirmar acompanhamento"|Redireciona para ''/acompanhar-processo/confirmar?token={token}''|Aciona o **Fluxo 02**. Token de confirmação, uso único, validade de 48h (RN02).| | |Botão "Confirmar acompanhamento"|Redireciona para ''/acompanhar-processo/confirmar?token={token}''|Aciona o **Fluxo 02**. Token único do serviço, validade de 48h, reaproveitável nos demais fluxos (RN02, RN09).| |
| |Rodapé|"Se você não solicitou este acompanhamento, ignore este e-mail."|Nenhum vínculo é criado até o clique de confirmação — mitigação de abuso (RN03).| | |Rodapé|"Se você não solicitou este acompanhamento, ignore este e-mail."|Nenhum vínculo é criado até o clique de confirmação — mitigação de abuso (RN03).| |
| |
| {{:pres:gerti:gestao_de_ativos:portal:movimentacao_-_tce_go_push-_localhost_.png?direct&600|}} \\ | {{:pres:gerti:gestao_de_ativos:portal:movimentacao_-_tce_go_push-_localhost_.png?direct&600|}} \\ |
| |
| Disparado pelo backend sempre que houver uma movimentação em um processo já confirmado (evento externo ao protótipo, originado de job/scheduler que monitora `PRO_AUTUACAO`). | Disparado sempre que houver uma movimentação em um processo já confirmado. **O disparo é executado por outro serviço interno do TCE-GO**, externo ao escopo do RF-008 e ao protótipo: o RF-008 define o conteúdo e os links da mensagem, não a regra que decide quando enviá-la. |
| |
| ^Elemento^Conteúdo^Observação| | ^Elemento^Conteúdo^Observação| |
| | |Remetente|`push@tce.go.gov.br`|Endereço institucional único para os três e-mails do RF-008.| |
| |Assunto|"Serviço de acompanhamento de processos TCE-GO — Movimentação no processo Nº {numero}"| | | |Assunto|"Serviço de acompanhamento de processos TCE-GO — Movimentação no processo Nº {numero}"| | |
| |Corpo|Número do processo, descrição da movimentação e data|Dados somente para leitura; não há ação além dos links abaixo.| | |Corpo|Número do processo, descrição da movimentação e data|Dados somente para leitura; não há ação além dos links abaixo.| |
| |Link "Ver processo completo"|Redireciona para ''/processos/{id}''|Consulta pública do processo, sem necessidade de token.| | |Link "Ver processo completo"|Redireciona para ''/processo/{id}''|Consulta pública do processo, sem necessidade de token.| |
| |Link "Gerenciar meus acompanhamentos"|Redireciona para ''/acompanhar-processo/gerenciar?token={token}''|Aciona o **Fluxo 03**. Token de gerenciamento, uso múltiplo dentro da validade (RN09).| | |Link "Gerenciar meus acompanhamentos"|Redireciona para ''/acompanhar-processo/gerenciar?token={token}''|Aciona o **Fluxo 03**. Token único do serviço, uso múltiplo dentro das 48h de validade (RN02, RN09).| |
| |Link "Parar de acompanhar este processo"|Redireciona para ''/acompanhar-processo/cancelar?token={token}&processo={id}''|Aciona o **Fluxo 04**. Remove apenas o processo referenciado neste link — não afeta os demais acompanhamentos do e-mail (RN07).| | |Link "Parar de acompanhar este processo"|Redireciona para ''/acompanhar-processo/cancelar?token={token}&processo={id}''|Aciona o **Fluxo 04**. Remove apenas o processo referenciado neste link — não afeta os demais acompanhamentos do e-mail (RN07).| |
| |
| |
| ^Elemento^Conteúdo^Observação| | ^Elemento^Conteúdo^Observação| |
| | |Remetente|`push@tce.go.gov.br`|Endereço institucional único para os três e-mails do RF-008.| |
| |Assunto|"Serviço de acompanhamento de processos TCE-GO — Seu link de gerenciamento"| | | |Assunto|"Serviço de acompanhamento de processos TCE-GO — Seu link de gerenciamento"| | |
| |Corpo|Link de acesso ao painel de gerenciamento|O reenvio não invalida tokens de gerenciamento já emitidos e ainda válidos (RN09) — pode haver mais de um link de gerenciamento válido simultaneamente para o mesmo e-mail.| | |Corpo|Link de acesso ao painel de gerenciamento|O reenvio não invalida tokens de gerenciamento já emitidos e ainda válidos (RN09) — pode haver mais de um link de gerenciamento válido simultaneamente para o mesmo e-mail.| |
| |
| ^Passo^Ação^Regra^Tela| | ^Passo^Ação^Regra^Tela| |
| |01|Usuário acessa a página de um processo autuado em ''/processos/{id}''| |Tela 01| | |01|Usuário acessa a página de um processo autuado em ''/processo/{id}''| |Tela 01| |
| |02|O sistema exibe o widget TCE-Push no estado idle com o botão "Quero acompanhar"| |Tela 01| | |02|O sistema exibe o widget TCE-Push no estado idle com o botão "Quero acompanhar"| |Tela 01| |
| |03|Usuário clica em "Quero acompanhar"| |Tela 01| | |03|Usuário clica em "Quero acompanhar"| |Tela 01| |
| |04|O sistema exibe o formulário com o campo "Seu e-mail" e o cabeçalho "Acompanhar processo nº {numero}"| |Tela 01| | |04|O sistema exibe o formulário com o campo "Seu e-mail" e o cabeçalho "Acompanhar processo nº {numero}"| |Tela 01| |
| |05|Usuário informa o e-mail e clica em "Quero acompanhar"|RN01|Tela 01| | |05|Usuário informa o e-mail e clica em "Quero acompanhar"|RN01|Tela 01| |
| |05.1|E-mail inválido: o sistema exibe mensagem de erro inline "Informe um e-mail válido." e aguarda nova entrada|RN01|Tela 01| | |05.1|E-mail inválido ou não preenchido: o sistema exibe a mensagem "Informe um e-mail válido." abaixo do rótulo do campo e aguarda nova entrada|RN01|Tela 01| |
| |06|O sistema transiciona o widget para o estado loading e processa a solicitação| |Tela 01| | |06|O sistema transiciona o widget para o estado loading e processa a solicitação| |Tela 01| |
| |07|O sistema valida que o e-mail não está inscrito neste processo|RN03 RN04| | | |07|O sistema valida que o e-mail não está inscrito neste processo|RN03 RN04| | |
| |08|O sistema identifica que o e-mail já está inscrito para este processo|RN04| | | |08|O sistema identifica que o e-mail já está inscrito para este processo|RN04| | |
| |08.1|O sistema exibe o estado inscrito: "Você já está acompanhando este processo" com o e-mail informado|RN04|Tela 01| | |08.1|O sistema exibe o estado inscrito: "Você já está acompanhando este processo" com o e-mail informado|RN04|Tela 01| |
| |10|O sistema identifica que o número do processo não existe|RN05| | | |09|O sistema identifica que o número do processo não existe|RN05| | |
| |10.1|O sistema exibe o estado erro com a mensagem retornada pelo servidor|RN05|Tela 01| | |09.1|O sistema exibe o estado erro com a mensagem retornada pelo servidor|RN05|Tela 01| |
| |
| ==== Fluxo 02 – Confirmação de Inscrição ==== | ==== Fluxo 02 – Confirmação de Inscrição ==== |
| ^ Regra ^ Descrição ^ | ^ Regra ^ Descrição ^ |
| |RN01|**Validação de formato de e-mail** – O e-mail informado deve ser válido conforme o formato RFC 5322. E-mails inválidos bloqueiam o envio do formulário com mensagem de erro inline.| | |RN01|**Validação de formato de e-mail** – O e-mail informado deve ser válido conforme o formato RFC 5322. E-mails inválidos bloqueiam o envio do formulário com mensagem de erro inline.| |
| |RN02|**Expiração de token** – O token de confirmação de inscrição expira em 48 horas a partir do envio. Após a expiração, o sistema exibe a mensagem de link inválido e o usuário deve solicitar novo acompanhamento.| | |RN02|**Token único do serviço, com validade de 48 horas** – O TCE-Push emite um único tipo de token, válido por 48 horas a partir do envio, utilizável nos fluxos de confirmação, gerenciamento e cancelamento. O token recebido em um e-mail é **reaproveitado** nos links das telas seguintes — não é emitido token novo a cada etapa. Após as 48 horas, o sistema exibe a mensagem de link inválido e o usuário deve solicitar novo link.| |
| |RN03|**Confirmação obrigatória por inscrição (controle de abuso)** – Toda inscrição em um processo requer confirmação explícita por e-mail, independentemente de o endereço ter sido confirmado em processos anteriores. Como o serviço não possui autenticação, a confirmação por link é o único mecanismo que garante que apenas o titular do endereço pode ativar um vínculo processo/e-mail. Sem essa exigência, qualquer usuário poderia inscrever endereços de terceiros em processos arbitrários sem o consentimento do titular.| | |RN03|**Confirmação obrigatória por inscrição (controle de abuso)** – Toda inscrição em um processo requer confirmação explícita por e-mail, independentemente de o endereço ter sido confirmado em processos anteriores. Como o serviço não possui autenticação, a confirmação por link é o único mecanismo que garante que apenas o titular do endereço pode ativar um vínculo processo/e-mail. Sem essa exigência, qualquer usuário poderia inscrever endereços de terceiros em processos arbitrários sem o consentimento do titular.| |
| |RN04|**Vedação de inscrição duplicada** – O mesmo e-mail não pode ser inscrito duas vezes no mesmo processo. O sistema retorna a resposta JA_INSCRITO e exibe a mensagem: "Você já está acompanhando este processo".| | |RN04|**Vedação de inscrição duplicada** – O mesmo e-mail não pode ser inscrito duas vezes no mesmo processo. O sistema retorna a resposta JA_INSCRITO e exibe a mensagem: "Você já está acompanhando este processo".| |
| |RN07|**Escopo do cancelamento por link** – O link "Parar de receber este acompanhamento" presente nos e-mails remove apenas o processo referenciado naquele link. O link "Gerenciar meus acompanhamentos" dá acesso à lista completa.| | |RN07|**Escopo do cancelamento por link** – O link "Parar de receber este acompanhamento" presente nos e-mails remove apenas o processo referenciado naquele link. O link "Gerenciar meus acompanhamentos" dá acesso à lista completa.| |
| |RN08|**Resposta neutra no reenvio de link** – Ao solicitar reenvio do link de gerenciamento, o sistema sempre retorna a mensagem: "Se este endereço possui acompanhamentos ativos, você receberá o link de acesso em breve.", independentemente de o e-mail existir ou não na base de dados.| | |RN08|**Resposta neutra no reenvio de link** – Ao solicitar reenvio do link de gerenciamento, o sistema sempre retorna a mensagem: "Se este endereço possui acompanhamentos ativos, você receberá o link de acesso em breve.", independentemente de o e-mail existir ou não na base de dados.| |
| |RN09|**Token de gerenciamento de uso múltiplo** – O token enviado no link de gerenciamento pode ser utilizado múltiplas vezes enquanto estiver dentro do prazo de validade, ao contrário do token de confirmação de inscrição.| | |RN09|**Uso múltiplo dentro da validade** – O token pode ser utilizado múltiplas vezes, em qualquer dos fluxos, enquanto estiver dentro das 48 horas de validade (RN02). O reenvio do link de gerenciamento não invalida os tokens já emitidos e ainda válidos.| |
| |RN10|**Sem limite de processos por e-mail** – Não há limite máximo de processos que podem ser associados a um único e-mail.| | |RN10|**Sem limite de processos por e-mail** – Não há limite máximo de processos que podem ser associados a um único e-mail.| |
| |RN11|**Confirmação antes de remover na tela de gerenciamento** – Na página de gerenciamento, ao clicar em "Parar de acompanhar", o sistema exibe uma confirmação inline no card do processo com os botões "Confirmar" e "Cancelar". A remoção só é executada após o usuário clicar em "Confirmar".| | |RN11|**Confirmação antes de remover na tela de gerenciamento** – Na página de gerenciamento, ao clicar em "Parar de acompanhar", o sistema exibe uma confirmação inline no card do processo com os botões "Confirmar" e "Cancelar". A remoção só é executada após o usuário clicar em "Confirmar".| |
| |RN12|**Cadastro implícito de usuário (sem tela de cadastro)** – Não existe formulário de nome/senha para o usuário. Internamente, porém, o backend deve localizar ou criar um registro de usuário Push a partir do e-mail informado (reaproveitando a estrutura de dados existente do legado), preenchendo os campos obrigatórios do legado (nome e senha) com valores técnicos não expostos ao usuário. Essa criação/localização de registro é transparente e não pode alterar nome, senha ou o estado "Habilitado" de um cadastro que já exista para aquele e-mail (ver [[#reaproveitamento_de_estruturas_do_legado|Reaproveitamento de Estruturas do Legado]]).| | |RN12|**Cadastro implícito de usuário (sem tela de cadastro)** – Não existe formulário de nome/senha para o usuário. Internamente, porém, o backend deve localizar ou criar um registro de usuário Push a partir do e-mail informado (reaproveitando a estrutura de dados existente do legado), preenchendo os campos obrigatórios do legado (nome e senha) com valores técnicos não expostos ao usuário. Essa criação/localização de registro é transparente e não pode alterar nome, senha ou o estado "Habilitado" de um cadastro que já exista para aquele e-mail (ver [[#reaproveitamento_de_estruturas_do_legado|Reaproveitamento de Estruturas do Legado]]).| |
| |RN13|**Lista resumida na tela de confirmação** – Na tela de confirmação de inscrição (Tela 02), a lista "Seus processos acompanhados" exibe apenas os **3 processos mais recentes** vinculados ao e-mail, ordenados pela data de inclusão do acompanhamento (mais recente primeiro), incluindo o processo recém-confirmado. Não há paginação nesta tela — para consultar a lista completa, o usuário deve acessar "Gerenciar meus acompanhamentos" (Tela 03).| | |RN13|**Lista resumida na tela de confirmação** – Na tela de confirmação de inscrição (Tela 02), a lista "Seus processos acompanhados" exibe apenas os **3 processos mais recentes** vinculados ao e-mail, ordenados pela data de inclusão do acompanhamento (mais recente primeiro), incluindo o processo recém-confirmado. Não há paginação nesta tela — para consultar a lista completa, o usuário deve acessar "Gerenciar meus acompanhamentos" (Tela 03).| |
| |RN14|**Paginação na tela de gerenciamento** – Como não há limite máximo de processos por e-mail (RN10), a lista de acompanhamentos da Tela 03 é paginada em **12 processos por página**, exibindo o componente de paginação somente quando esse total é ultrapassado. Reaproveita o componente ''Pagination'' já utilizado em ''/processos'' (mesmo padrão visual e de navegação).| | |RN14|**Paginação na tela de gerenciamento** – Como não há limite máximo de processos por e-mail (RN10), a lista de acompanhamentos da Tela 03 é paginada em **12 processos por página**, exibindo o componente de paginação somente quando esse total é ultrapassado. O tamanho da página é **fixo** — não há seletor de itens por página. Reaproveita o componente ''Pagination'' já utilizado em ''/processos'' (mesmo padrão visual e de navegação).| |
| | |RN15|**Conformidade de acessibilidade** – Todas as telas do RF-008 seguem a diretriz **e-MAG 3.1** adotada pelo Portal. São verificáveis, em cada tela: nome acessível dos controles e dos campos, contraste mínimo do texto e dos elementos de interface, e aumento de fonte/zoom até 200% sem perda de conteúdo ou de função.| |
| |
| ---- | ---- |
| |`POST api/push/login`|**Descontinuado.** Dependia de senha; o novo modelo não tem login.| | |`POST api/push/login`|**Descontinuado.** Dependia de senha; o novo modelo não tem login.| |
| |`POST api/push/email` (cadastro)|**Substituído** pelo cadastro implícito descrito acima — o novo `POST /api/push/inscrever` (PRD §7) deve criar o registro em `PSH_USUARIOS` internamente, sem expor os campos `Nome`/`Senha` ao cliente.| | |`POST api/push/email` (cadastro)|**Substituído** pelo cadastro implícito descrito acima — o novo `POST /api/push/inscrever` (PRD §7) deve criar o registro em `PSH_USUARIOS` internamente, sem expor os campos `Nome`/`Senha` ao cliente.| |
| |`GET api/push/verifica/{numeroProcesso}`|**Reaproveitável como base, com correção de parâmetro:** no RF-008 o parâmetro deve ser `idAutuacao`, não o número público — a página do processo (`/processos/{id}`) já tem o ID de autuação em contexto, o usuário não precisa informá-lo.| | |`GET api/push/verifica/{numeroProcesso}`|**Reaproveitável como base, com correção de parâmetro:** no RF-008 o parâmetro deve ser `idAutuacao`, não o número público — a página do processo (`/processo/{id}`) já tem o ID de autuação em contexto, o usuário não precisa informá-lo.| |
| |`PUT api/push/adiciona/processos`|**Reaproveitável como base, com a mesma correção:** a lista recebida deve conter IDs de autuação, não números de processo, antes de repassar para `WEB_PACKAGE.PWEB_ACOMPANHAPROCESSO` (que exigirá a conversão pontual citada acima).| | |`PUT api/push/adiciona/processos`|**Reaproveitável como base, com a mesma correção:** a lista recebida deve conter IDs de autuação, não números de processo, antes de repassar para `WEB_PACKAGE.PWEB_ACOMPANHAPROCESSO` (que exigirá a conversão pontual citada acima).| |
| |`DELETE api/push/remove/{numeroProcesso}`|**Reaproveitável como base:** apesar do nome do parâmetro na rota legada, o valor é repassado como ID interno para `RemoveAcompanhamentoDeProcesso`. No RF-008 o parâmetro deve se chamar explicitamente `idAutuacao`, para não sugerir que aceita o número público.| | |`DELETE api/push/remove/{numeroProcesso}`|**Reaproveitável como base:** apesar do nome do parâmetro na rota legada, o valor é repassado como ID interno para `RemoveAcompanhamentoDeProcesso`. No RF-008 o parâmetro deve se chamar explicitamente `idAutuacao`, para não sugerir que aceita o número público.| |
| |
| ^ Componente ^ Papel no legado ^ Reaproveitamento no RF-008 ^ | ^ Componente ^ Papel no legado ^ Reaproveitamento no RF-008 ^ |
| |`IServicoDeEmail` / `ServicoDeEmail` (`TCE.Compartilhado.Servico.Servicos.Contato`)|Camada compartilhada de envio, usada por `ServicoDeUsuarioPush`, `ServicoDeFaleConosco`, `ServicoDeOuvidoriaEletronica` e outros serviços do Compartilhado|**Reaproveitada integralmente.** O RF-008 deve montar um `DtoEmail` (destinatário, assunto, corpo HTML) e um `DtoConfiguracaoEmail { HostName = "smtp.tce.go.gov.br" }` e chamar `IServicoDeEmail.EnviaEmail(...)` — exatamente como já faz `ServicoDeUsuarioPush.EnviaEmail` para os e-mails de cadastro/alteração/lembrete de senha do Push legado. Não é necessário criar um novo mecanismo de disparo.| | |`IServicoDeEmail` / `ServicoDeEmail` (`TCE.Compartilhado.Servico.Servicos.Contato`)|Camada compartilhada de envio, usada por `ServicoDeUsuarioPush`, `ServicoDeFaleConosco`, `ServicoDeOuvidoriaEletronica` e outros serviços do Compartilhado|**Reaproveitada integralmente.** O RF-008 deve montar um `DtoEmail` (remetente `push@tce.go.gov.br`, destinatário, assunto, corpo HTML) e um `DtoConfiguracaoEmail { HostName = "smtp.tce.go.gov.br" }` e chamar `IServicoDeEmail.EnviaEmail(...)` — exatamente como já faz `ServicoDeUsuarioPush.EnviaEmail` para os e-mails de cadastro/alteração/lembrete de senha do Push legado. Não é necessário criar um novo mecanismo de disparo.| |
| |`smtp.tce.go.gov.br`|Host SMTP institucional, configurado via `SmtpClient` do .NET (`ServicoDeEmail.EnviaEmail`)|**Confirmado como servidor a ser utilizado.** Os três e-mails do RF-008 (seção "E-mails Enviados") devem ser despachados por este host, seguindo o mesmo padrão do restante do portal.| | |`smtp.tce.go.gov.br`|Host SMTP institucional, configurado via `SmtpClient` do .NET (`ServicoDeEmail.EnviaEmail`)|**Confirmado como servidor a ser utilizado.** Os três e-mails do RF-008 (seção "E-mails Enviados") devem ser despachados por este host, seguindo o mesmo padrão do restante do portal.| |
| | |`push@tce.go.gov.br`|—|**Endereço de remetente institucional definido para o RF-008.** Utilizado no campo `From` do `DtoEmail` para os três e-mails (Confirmação, Notificação, Reenvio).| |
| |
| ==== Riscos e Pontos de Atenção para o Backend ==== | ==== Riscos e Pontos de Atenção para o Backend ==== |
| * **ID de Autuação como identificador único do processo:** todo o contrato do RF-008 (requisições da API, tokens de confirmação/gerenciamento/cancelamento, parâmetros de rota) deve referenciar o processo pelo ID de autuação. O número público do processo é apenas informação de exibição nas telas e nos e-mails. A única exceção no legado é `WEB_PACKAGE.PWEB_ACOMPANHAPROCESSO`, que exige o número público — tratar como conversão isolada no ponto de integração, sem propagar o número para o restante do fluxo (ver tabela de rotinas acima). | * **ID de Autuação como identificador único do processo:** todo o contrato do RF-008 (requisições da API, tokens de confirmação/gerenciamento/cancelamento, parâmetros de rota) deve referenciar o processo pelo ID de autuação. O número público do processo é apenas informação de exibição nas telas e nos e-mails. A única exceção no legado é `WEB_PACKAGE.PWEB_ACOMPANHAPROCESSO`, que exige o número público — tratar como conversão isolada no ponto de integração, sem propagar o número para o restante do fluxo (ver tabela de rotinas acima). |
| * **Nenhuma estrutura de token existente é reaproveitável tal como está:** o legado não possui tabela/mecanismo de token com expiração para os links de confirmação/gerenciamento/cancelamento; isso é **desenvolvimento novo**, não reaproveitamento. | * **Nenhuma estrutura de token existente é reaproveitável tal como está:** o legado não possui tabela/mecanismo de token com expiração para os links de confirmação/gerenciamento/cancelamento; isso é **desenvolvimento novo**, não reaproveitamento. |
| | |
| | ---- |
| | |
| | ===== Histórico de Revisões ===== |
| | |
| | ^ Data ^ Alteração ^ Motivo ^ |
| | |2026-08-31|Tela 01 e Fluxo 01 passo 05.1 — a mensagem "Informe um e-mail válido." passou a cobrir também o campo não preenchido, exibida abaixo do rótulo|Decisão de Requisitos; o comportamento do campo obrigatório não estava especificado (PD-02)| |
| | |2026-08-31|Fluxo 01 — passos 10 e 10.1 renumerados para 09 e 09.1|Lacuna de numeração corrigida a pedido de Requisitos (PD-13)| |
| | |2026-08-31|RN02 reescrita — token **único** do serviço, validade de 48h, reaproveitável nos fluxos de confirmação, gerenciamento e cancelamento|Decisão de Requisitos: não se emite token novo a cada etapa (PD-04, PD-09)| |
| | |2026-08-31|RN09 reescrita — uso múltiplo em qualquer fluxo dentro das 48h|Alinhamento à RN02 (PD-04, PD-09)| |
| | |2026-08-31|Telas 02 e 04 — botões de acesso ao painel passaram a declarar o reaproveitamento do token recebido|O conflito apontado na análise de estratégia de tokens deixou de existir com a decisão da RN02 (PD-04)| |
| | |2026-08-31|RN14 — registrado que o tamanho da página é fixo, sem seletor de itens|Decisão de Requisitos (PD-15)| |
| | |2026-08-31|**RN15 acrescentada** — conformidade de acessibilidade e-MAG 3.1|O RF não declarava requisito de acessibilidade, embora o escopo de teste o exija (PD-12)| |
| | |2026-08-31|E-mail 02 — o disparo passou a ser atribuído a outro serviço interno do TCE-GO|Decisão de Requisitos: a regra que decide quando enviar está fora do escopo do RF-008 (PD-16)| |
| | |2026-08-31|Rota do detalhe do processo padronizada como ''/processo/{id}''|Decisão de Requisitos: é a rota já desenvolvida na funcionalidade anterior (PD-11)| |
| | |2026-08-31|Tela 01 — o botão "Quero acompanhar" passou a declarar que o formulário abre na própria página, sem diálogo sobreposto|Decisão de Requisitos; o CA02 do PRD deixava a apresentação entre modal e expansão inline (PD-18)| |
| |
| --- | --- |