Atualizar colaborador

Este endpoint permite editar os dados de um colaborador existente identificado pelo e-mail, com base nos dados fornecidos.


Regras de negócio e validações

Campos obrigatórios

  • email (query parameter): E-mail do colaborador a ser editado. O e-mail é utilizado para identificar o colaborador na empresa. O valor é normalizado (lowercase e sem espaços) antes da busca.

Campos opcionais

Conta (account)

  • account.email: Novo e-mail do colaborador.
  • account.taxpayerRegistry: CPF do colaborador. Formato aceito: 12345678909 ou 123.456.789-09.
  • account.password: Nova senha de acesso do colaborador.
  • account.firstName: Primeiro nome do colaborador.
  • account.lastName: Sobrenome do colaborador.
  • account.mobileNumber: Telefone celular do colaborador. Formato: +5511999999999.

Atributos (attributes)

  • attributes.birthDate: Data de nascimento do colaborador. Formato: YYYY-MM-DD.
  • attributes.admissionDate: Data de admissão do colaborador. Formato: YYYY-MM-DD.
  • attributes.language: Idioma do colaborador. Valores aceitos: pt, en, es.
  • attributes.linkedinUrl: URL do LinkedIn do colaborador. Deve iniciar com https://. Máximo de 255 caracteres.
  • attributes.education: Escolaridade do colaborador. Pode receber os seguintes valores:
    • Doutorado completo
    • Doutorado incompleto
    • Ensino fundamental completo
    • Ensino fundamental incompleto
    • Ensino médio completo
    • Ensino médio incompleto
    • Ensino técnico completo
    • Ensino técnico incompleto
    • Graduação completa
    • Graduação incompleta
    • Mestrado completo
    • Mestrado incompleto
    • Pós graduação/mba completa
    • Pós graduação/mba incompleta
    • Pós-doutorado completo
    • Pós-doutorado incompleto
    • Superior Completo
    • Tecnólogo completo
    • Tecnólogo incompleto
  • attributes.biologicalSex: Sexo biológico do colaborador. Valores aceitos: Feminino, Masculino.
  • attributes.streetAddress: Endereço de rua do colaborador. Máximo de 255 caracteres.
  • attributes.cityAddress: Cidade do colaborador. Máximo de 255 caracteres.
  • attributes.stateAddress: Estado (UF) do colaborador. Máximo de 255 caracteres.
  • attributes.zipCodeAddress: CEP do colaborador. Máximo de 9 caracteres.
  • attributes.neighborhoodAddress: Bairro do colaborador. Máximo de 255 caracteres.

Soluções (solutions)

  • solutions.recruitmentAndSelection: Colaborador tem acesso à solução de Recrutamento e Seleção (true/false).
  • solutions.admission: Colaborador tem acesso à solução de Admissão (true/false).
  • solutions.training: Colaborador tem acesso à solução de Treinamento (true/false).
  • solutions.engagement: Colaborador tem acesso à solução de Engajamento (true/false).
  • solutions.performance: Colaborador tem acesso à solução de Performance (true/false).
  • solutions.admin: Colaborador tem acesso ao ecossistema administrativo (true/false).

Identificação do colaborador


O colaborador é identificado pelo email informado como query parameter. O sistema busca a conta pelo e-mail e verifica se ela pertence à empresa associada ao token de autenticação.


Gerenciamento de soluções

  • Enviar uma solução com valor true concede o acesso ao colaborador naquela solução para a empresa.
  • Enviar uma solução com valor false remove o acesso do colaborador naquela solução.
  • Soluções não informadas no body não são alteradas.

Exemplo de requisição (cURL)

curl --request PATCH \
  --url 'https://api.gupy.io/user-management/v1/[email protected]' \
  --header 'Authorization: Bearer bearer_token_value_here' \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "account": {
    "firstName": "John",
    "lastName": "Smith",
    "mobileNumber": "+5511988888888"
  },
  "attributes": {
    "admissionDate": "2021-06-15",
    "language": "en",
    "education": "Mestrado completo"
  },
  "solutions": {
    "training": true,
    "performance": false
  }
}'

Atenção: Forneça o token de autenticação no cabeçalho Authorization.


Possíveis erros

Colaborador não encontrado

Erro lançado quando o colaborador não foi encontrado através do email informado, ou o colaborador não pertence à empresa do token.

{
  "statusCode": 404,
  "timestamp": "2025-05-29T21:00:00.000Z",
  "path": "/v1/employees",
  "method": "PATCH",
  "title": "NotFoundException",
  "message": "Account not found",
  "errors": [
    {
      "code": "ACCOUNT_NOT_FOUND",
      "target": "NotFoundException",
      "message": "Account not found"
    }
  ]
}

Opção de atributo não encontrada

Erro lançado quando o valor informado para um atributo do tipo lista (como education, biologicalSex ou `language) não corresponde a nenhuma opção válida.

{
  "statusCode": 404,
  "timestamp": "2025-05-29T21:00:00.000Z",
  "path": "/v1/employees",
  "method": "PATCH",
  "title": "NotFoundException",
  "message": "Attribute option not found",
  "errors": [
    {
      "code": "ATTRIBUTE_OPTION_NOT_FOUND",
      "target": "NotFoundException",
      "message": "Attribute option not found"
    }
  ]
}

Conta já existente

Erro lançado quando o novo email ou taxpayerRegistry informado no body já está vinculado a outra conta.

{
  "statusCode": 409,
  "timestamp": "2025-05-29T21:00:00.000Z",
  "path": "/v1/employees",
  "method": "PATCH",
  "title": "ConflictException",
  "message": "A bond between the company and this account already exists",
  "errors": [
    {
      "code": "EMPLOYEE_BOND_ALREADY_EXISTS",
      "target": "ConflictException",
      "message": "A bond between the company and this account already exists"
    }
  ]
}