Criar novo colaborador
Este endpoint permite criar um novo colaborador na empresa com base nos dados fornecidos.
Regras de negócio e validações
Campos obrigatórios
account.firstName: Primeiro nome do colaborador.account.emailouaccount.taxpayerRegistry: Ao menos um identificador (e-mail ou CPF) deve ser informado. Se otaxpayerRegistrynão for informado, oemailpassa a ser obrigatório.
Campos opcionais
Conta (account)
account)account.email: E-mail do colaborador. Obrigatório apenas setaxpayerRegistrynão for informado.account.taxpayerRegistry: CPF do colaborador. Formato aceito:12345678909ou123.456.789-09.account.password: Senha de acesso do colaborador.account.lastName: Sobrenome do colaborador.account.mobileNumber: Telefone celular do colaborador. Formato:+5511999999999.
Atributos (attributes)
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 comhttps://. 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)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).
Vínculo com a empresa
O colaborador será vinculado à empresa associada ao token de autenticação utilizado na requisição.
Unicidade
- E-mail único: O
emaildeve ser único em toda a plataforma. Não é possível criar dois colaboradores com o mesmo e-mail. - CPF único: O
taxpayerRegistry(CPF) deve ser único dentro da empresa.
Exemplo de requisição (cURL)
curl --request POST \
--url 'https://api.gupy.io/user-management/v1/employees' \
--header 'Authorization: Bearer bearer_token_value_here' \
--header 'Content-Type: application/json' \
--data-raw '{
"account": {
"email": "[email protected]",
"taxpayerRegistry": "12345678909",
"password": "Password123!",
"firstName": "John",
"lastName": "Doe",
"mobileNumber": "+5511999999999"
},
"attributes": {
"birthDate": "1990-01-01",
"admissionDate": "2020-01-01",
"language": "pt",
"linkedinUrl": "https://www.linkedin.com/in/john-doe",
"education": "Graduação completa",
"biologicalSex": "Masculino",
"streetAddress": "Rua das Flores",
"cityAddress": "São Paulo",
"stateAddress": "SP",
"zipCodeAddress": "00000-000",
"neighborhoodAddress": "Bairro das Flores"
},
"solutions": {
"recruitmentAndSelection": true,
"admission": false,
"training": true,
"engagement": false,
"performance": false,
"admin": false
}
}'Atenção: Forneça o token de autenticação no cabeçalho Authorization.
Possíveis erros
Identificador não informado
Erro lançado quando nem email nem taxpayerRegistry são informados na conta do colaborador.
{
"statusCode": 400,
"timestamp": "2025-05-29T21:00:00.000Z",
"path": "/v1/employees",
"method": "POST",
"title": "BadRequestException",
"message": "At least one of email or taxpayerRegistry is required"
}Conta já existente
Erro lançado quando já existe uma conta com o email ou taxpayerRegistry informado vinculada à empresa.
{
"statusCode": 409,
"timestamp": "2025-05-29T21:00:00.000Z",
"path": "/v1/employees",
"method": "POST",
"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"
}
]
}Atributo não encontrado
Erro lançado quando um atributo padrão da empresa não é encontrado na base.
{
"statusCode": 404,
"timestamp": "2025-05-29T21:00:00.000Z",
"path": "/v1/employees",
"method": "POST",
"title": "NotFoundException",
"message": "Attribute not found",
"errors": [
{
"code": "ATTRIBUTE_NOT_FOUND",
"target": "NotFoundException",
"message": "Attribute not found"
}
]
}Opção de atributo não encontrada
Erro lançado quando o valor informado para um atributo do tipo dropdown (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": "POST",
"title": "NotFoundException",
"message": "Attribute option not found",
"errors": [
{
"code": "ATTRIBUTE_OPTION_NOT_FOUND",
"target": "NotFoundException",
"message": "Attribute option not found"
}
]
}Updated 1 day ago
