| Produto: | |
|---|---|
| Linha de Produto: | |
| Segmento: | |
| Módulo: | AGRODISTRIBUIDOR ( SIGAAGD) |
| Função: | AGDA090.PRW |
| Ticket: | |
| Requisito/Story/Issue (informe o requisito relacionado) : | DAGRODIST-1826 |
Durante a configuração do módulo TCO (Totvs Configuração do AgroDistribuidor), cada feature possui parâmetros específicos que precisam ser mantidos no dicionário de parâmetros do sistema (tabela SX6).
Era necessário disponibilizar uma API que permitisse:
Atualizar, criar e validar parâmetros por feature e por filial;
Garantir que apenas usuários administradores (FWIsAdmin) possam realizar alterações;
Assegurar que cada feature valide seus parâmetros esperados e tipos de dados antes da gravação;
Padronizar o retorno da API com mensagens claras de sucesso e erro, em formato JSON estruturado;
Permitir a atualização tanto global (sem filial) quanto por filial específica (com PutMVFil);
Manter a integridade de valores textuais que utilizem aspas (' ou ") no conteúdo.
Foi implementado o endpoint:
POST /api/agd/v1/tco/features/parametros/:codigoFeature
Que permite atualizar os parâmetros de cada feature do TCO de forma automática e segura.
Com ela, é possível enviar, por meio de uma requisição, todos os parâmetros que precisam ser ajustados e seus respectivos valores.
A solução:
Permite que somente administradores realizem alterações.
Valida se a feature realmente existe e se o parâmetro informado pertence a ela.
Confere o tipo de informação enviada, evitando erros (por exemplo, texto no lugar de verdadeiro/falso).
Atualiza automaticamente o parâmetro, criando-o se ele ainda não existir.
Mantém os valores formatados corretamente, mesmo quando há aspas no conteúdo.
Retorna uma mensagem clara e padronizada, informando o que foi atualizado e se houve algum erro.
Exemplo de retorno da API:
{
"feature": "BARTER",
"success": false,
"updated": [
["MV_AGDA001", "Atualizado com sucesso (nível global)."]
],
"errors": [
["MV_CADPROD", "Parâmetro não pertence à configuração da feature BARTER."],
["MV_TESTE", "Tipo do valor diferente do esperado no parâmetro MV_TESTE (esperado L, recebido C)."]
],
"message": "Ocorreram falhas em alguns parâmetros."
}
Não se aplica