Pular para o conteúdo principal

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

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:

  • IDModuleCurrentMódulo atual atualizado
  • TourSeenTour marcado como visto (ou Tour ignorado quando a chave fica vazia após o saneamento)
  • HomeConfigPreferências da home salvas (ou Home ignorada quando o corpo não é um objeto, ou Home sem alterações quando nenhuma chave é aproveitável)
  • DashboardConfigDashboard salvo