--- title: 2.2. Cadastrar Usuário do Cedente url: https://docs.vehub.com.br/API/Cadastro%20de%20Cedente/2.%20Empresa%20Cedente/2.2.%20Cadastrar%20Usu%C3%A1rio%20do%20Cedente/ --- ## Cadastrar Usuário do Cedente | Método | URL | | ------------------------------------------------ | ------------------------------------------------------------ | | ![POST](https://img.shields.io/badge/POST-green) | `https://BASE_URL/public/api/v1/cedentes/{idEmpresa}/usuarios` | Cadastra uma pessoa do cedente como **usuário do portal VeHub**, para que ela acompanhe as operações da própria empresa. O usuário é sempre do tipo **Cedente** e recebe o perfil marcado como padrão para esse tipo no grupo econômico. !!! info "O que a API define por você" O corpo traz só nome, e-mail e CPF. O restante é resolvido pela API: - **Perfil:** o perfil padrão do tipo Cedente do grupo econômico. - **Empresa:** o acesso fica restrito à empresa da rota (`idEmpresa`). - **Operações:** todas as operações em que a empresa está vinculada como cedente no momento da chamada, inclusive as de Risco Sacado. Vínculos criados depois **não** são acrescentados ao usuário. !!! warning "Pré-requisitos" O cedente precisa estar [vinculado a pelo menos uma operação](../7.%20V%C3%ADnculo%20com%20Opera%C3%A7%C3%B5es/7.1.%20Vincular%20Cedente%20a%20Opera%C3%A7%C3%B5es.md#vincular-cedente-a-operacao), e o grupo econômico precisa ter um perfil padrão para o tipo Cedente configurado. Sem isso, o cadastro é recusado. ### Path Params | Campo | Tipo | Descrição | | ----------- | ------ | --------------------------------- | | `idEmpresa` | Número | Identificador da empresa cedente. | ### Request Body | Campo | Tipo | Obrigatório | Descrição | | ------- | ----------- | :---------: | ---------------------------------------------------------------------------------------------------------- | | `nome` | Texto (200) | ✅ | Nome completo. A primeira palavra vira o nome e o restante, o sobrenome. | | `email` | Texto (200) | ✅ | E-mail do usuário, usado como login. Qualquer domínio é aceito. É gravado em minúsculas. | | `cpf` | Texto (14) | ✅ | CPF do usuário, com ou sem máscara. Precisa ter dígitos verificadores válidos e ser único no grupo econômico. | ```json title="Request Body" { "nome": "Maria Souza Lima", "email": "maria.souza@empresaexemplo.com.br", "cpf": "529.982.247-25" } ``` ```json title="Response Body — 200 OK" { "codigoKeycloak": "3f1c9a52-7d4e-4b8a-9e21-6c0d5b7a8f13", "email": "maria.souza@empresaexemplo.com.br", "nome": "Maria Souza Lima", "operacoesVinculadas": [7, 9] } ``` ### Retorno | Campo | Tipo | Descrição | | --------------------- | -------------- | ------------------------------------------------------------------ | | `codigoKeycloak` | Texto | Identificador do usuário no provedor de identidade. | | `email` | Texto | E-mail (login) gravado, em minúsculas. | | `nome` | Texto | Nome completo gravado. | | `operacoesVinculadas` | Lista de Número | Identificadores das operações às quais o usuário foi vinculado. | ### Primeiro acesso | Situação do e-mail | O que acontece | | ---------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | | Ainda não tem conta | A conta é criada e o usuário recebe um **e-mail de primeiro acesso** com senha temporária. | | Já tem conta, mas em outro grupo econômico | A conta existente é **vinculada** a este grupo econômico. Não há senha nova nem e-mail de primeiro acesso. | | Já tem conta neste grupo econômico | Recusado — ver a tabela de erros. | ### Erros Recusas do cadastro respondem `400` com o corpo abaixo; a mensagem diz o motivo. ```json title="Response Body — 400 Bad Request" { "status": "erro", "mensagem": "Já existe um usuário com este CPF neste grupo econômico." } ``` | Mensagem | Quando acontece | | --------------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | | `Fornecedor (cedente) não encontrado para o grupo econômico informado.` | O `idEmpresa` não existe no grupo econômico. | | `O cedente informado não possui operações vinculadas para associar ao usuário.` | A empresa não está vinculada a nenhuma operação. | | `Não há perfil padrão para o tipo Cedente.` | O grupo econômico não tem perfil padrão configurado para o tipo Cedente. | | `Esse usuário já existe nesse grupo econômico` | O e-mail já tem acesso a este grupo econômico. | | `CPF inválido.` | O CPF não tem dígitos verificadores válidos. | | `Já existe um usuário com este CPF neste grupo econômico.` | Outro usuário do grupo econômico já usa o CPF. | | `O envio do email com a senha temporária falhou` | A conta foi criada, mas o e-mail de primeiro acesso não saiu. | | `Erro ao cadastrar usuário do cedente` | Falha inesperada. | Campos ausentes ou em formato inválido (por exemplo, `O nome é obrigatório.`, `O e-mail é obrigatório.`, `E-mail inválido.` ou `O CPF é obrigatório.`) também retornam `400`, mas no formato *ProblemDetails*, com as mensagens em `errors`, uma chave por campo. !!! warning "Falha no envio do e-mail de primeiro acesso" Quando a resposta é `O envio do email com a senha temporária falhou`, a conta já foi criada, mas o usuário não recebeu a senha. Uma nova chamada com o mesmo e-mail apenas completa o vínculo e **não** reenvia o e-mail. Nesse caso, acione o suporte para liberar o primeiro acesso.