Atualizar Informador
Atualiza os dados de um informador específico
Descrição
Atualiza os dados de um informador específico. Permite atualização parcial - apenas os campos enviados serão atualizados. Somente o campo first_name é obrigatório; todos os demais são opcionais e validados quando presentes (email, CPF, senha, pronome, diocese, categoria, grupo etc.).
- Atualização parcial - apenas campos enviados são modificados
- Validação de dados de entrada
- Retorna dados atualizados com relacionamentos
- Requer autenticação JWT válida
Detalhes do Endpoint
VERBO
URL BASE
ENDPOINT
Parâmetros da URL
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| id | string (UUID) | Sim | ID único do informador |
Campos da Requisição (Base)
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| first_name | string | Sim | Primeiro nome do usuário |
| last_name | string | Não | Sobrenome do usuário |
| string | Não | E-mail do usuário (opcional; se enviado, deve ser único) | |
| phone | string | Não | Telefone do informador |
| category_id | integer | Não | ID da categoria do informador |
| diocese_id | integer | Não | ID da diocese do informador |
| group_id | string (UUID) | Não | UUID do grupo eclesiástico |
| treatment_pronoun_id | integer | Não | ID do pronome de tratamento (Pe., Dom, Card., etc.) |
| cpf | string | Não | CPF apenas com números (11 dígitos) |
Cabeçalhos
| Parâmetro | Valor |
|---|---|
| Authorization | Bearer <token> |
| Content-Type | application/json |
Exemplo de Requisição
PUT /api/informers/uuid-do-informer
Authorization: Bearer <token>
Content-Type: application/json
{
"first_name": "João",
"last_name": "Silva Santos",
"email": "joao.silva@diocese.com.br",
"treatment_pronoun_id": 1,
"phone": "(11) 99999-8888",
"category_id": 5,
"diocese_id": 1,
"group_id": "cbd3104e-4099-4291-bd9b-6ba89c65e49b",
"cpf": "11144477735"
}
Respostas
Sucesso - 200
{
"success": true,
"data": {
"id": "uuid-user",
"first_name": "João",
"last_name": "Silva Santos",
"email": "joao.silva.santos@diocese.com.br",
"role": {
"id": 2,
"name": "Informador",
"slug": "informador",
"description": "Usuário informador com acesso limitado aos questionários"
},
"cpf": "11144477735",
"phone": "(11) 99999-7777",
"category": {"id": 5, "name": "Consultor diocesano", "description": "Descrição", "active": true},
"treatment_pronoun": {"id": 5, "name": "Vig.", "description": "Vigário", "active": true},
"diocese": {"id": 15, "name": "Arquidiocese de Brasília", "state": "DF", "active": true},
"process": {"id": "uuid-processo", "name": "Provisão Diocese X", "protocol": "PROV-2025-001"},
"group": {"id": "group-uuid-here", "name": "Grupo 1", "color": "#845ADF", "description": "Descrição do grupo"},
"created_at": "2024-10-16T12:00:00.000000Z",
"updated_at": "2024-10-16T12:05:00.000000Z"
},
"message": "Informador atualizado com sucesso"
}
Nota: A resposta inclui os dados do usuário com os campos específicos do informador no mesmo nível (cpf, phone, category, etc.) e os relacionamentos completos (treatment_pronoun, diocese, group, category). As iniciais são geradas automaticamente.
Erro - 404 (Informador não encontrado)
{
"success": false,
"message": "Informador não encontrado"
}
Condição: ID fornecido não corresponde a nenhum informador
Erro - 422 (Validação falhou)
{
"message": "Os dados fornecidos são inválidos.",
"errors": {
"first_name": ["O campo nome é obrigatório."],
"email": ["O email deve ter um formato válido."],
"cpf": ["O CPF deve conter exatamente 11 dígitos numéricos."]
}
}
Condição: Dados de validação inválidos (ausência de first_name ou campos opcionais informados com formato incorreto, como email ou CPF inválidos)
Erro - 401 (Token inválido)
{
"success": false,
"message": "Token inválido"
}
Condição: Token JWT inválido, expirado ou não fornecido
Códigos de Resposta
| Código | Descrição |
|---|---|
| 200 | Informador atualizado com sucesso |
| 404 | Informador não encontrado |
| 422 | Dados de validação inválidos |
| 401 | Token inválido ou expirado |