Atualiza um usuário
PUT/user/:iduser
Atualiza os dados do usuário na empresa.
A atualização não é totalmente parcial — monte o corpo com o cadastro completo. Os dados profissionais, o bloco de vendedor/comissão/técnico e as etiquetas só são tocados quando vêm no corpo, mas os dados pessoais são sempre reescritos: UserCpfCnpj, UserTelephone, UserExtenalId, MFAEnabled e IDModuleFavorite são gravados vazios quando omitidos, e omitir MFAEnabled ainda apaga o segredo do app autenticador. Envie sempre o cadastro inteiro (é o que a tela faz), não apenas o campo alterado.
Pela mesma razão, todo corpo que não seja um dos quatro atalhos exclusivos precisa trazer Login ou UserCpfCnpj — sem nenhum dos dois a requisição é recusada com Documento e/ou email obrigatório para cadastrar usuário. E enviar UserCpfCnpj sem Login substitui o login atual pelo login interno <documento>@email.com.br.
Quando Password é enviado, a senha é validada contra a política da empresa (comprimento mínimo, complexidade, não repetir as 5 últimas senhas e validade). Alterar a senha de outro usuário exige o privilégio de redefinir senha; alterar a própria, não. Mudanças de campos são registradas em log de auditoria (valores de antes e depois).
A atualização também cobre os dados profissionais do colaborador — funções, função atual, cargo, escala de trabalho, supervisor e categorias/grupos de endereço de armazenagem — e as etiquetas: o campo Tags substitui integralmente as etiquetas atuais.
Os campos de vendedor, comissão e técnico — RestrictAccessSalesman, DiscountPercentLimit, IDTypeSalesmanCommission, ExcludeCanceledOrdersCommission, ExcludeReturnedOrdersCommission e Technician — só são gravados quando Salesman vem no mesmo corpo; enviados sozinhos, são ignorados.
Quatro campos funcionam como atalhos exclusivos: só têm efeito quando são o único campo do corpo, e nesse caso apenas eles são salvos e a resposta é uma string curta de confirmação em vez do detalhe do usuário — IDModuleCurrent (Módulo atual atualizado), TourSeen (Tour marcado como visto), HomeConfig (Preferências da home salvas) e DashboardConfig (Dashboard salvo). Enviados junto com outros campos, os quatro são simplesmente ignorados.
Request
Responses
- 200
- 400
- 500
Usuário atualizado. Retorna o detalhe completo (mesmo formato de GET /user/{iduser}).
Exceções — quando o corpo traz apenas um destes campos, a resposta é uma string:
IDModuleCurrent→Módulo atual atualizadoTourSeen→Tour marcado como visto(ouTour ignoradoquando a chave fica vazia após o saneamento)HomeConfig→Preferências da home salvas(ouHome ignoradaquando o corpo não é um objeto, ouHome sem alteraçõesquando nenhuma chave é aproveitável)DashboardConfig→Dashboard salvo
Erros (prefixo [BadRequest]):
A lista de cargos do usuário deve conter apenas IDs separados por vírgulaCPF / CNPJ inválido, verificar os números digitadosEmail inválido, verificarTipo de MFA inválidoTipo de comissão não existeDocumento obrigatório quando não é informadoDocumento e/ou email obrigatório para cadastrar usuárioA senha deve ter no mínimo N caracteresA senha deve conter letras maiúsculas, minúsculas, números e caracteres especiaisUsuário não tem privilégio para resetar senhaA senha informada deve ser diferente das 5 últimas senhas utilizadasEmail já está vinculado a outro usuárioDocumento já está vinculado a outro usuárioUsuário não existeFunção não existente, preencha corretamenteFunção atual não atribuída ao colaboradorCategoria armazém não existe (<id>)Grupo endereços não existeEscala não existe, preencha corretamenteColaborador não pode ser seu próprio supervisorColaborador superior não existe, preencha corretamenteColaborador é supervisor de outros colaboradores e não pode ter o vínculo profissional removidoCargo não existe, preencha corretamenteFunção não permitida para o cargo selecionado
Erro interno (prefixo Error:).