Nunciatura Provista

API Documentation V1

Atualizar Informador

Atualiza os dados de um informador específico

Este endpoint é do tipo: Protected

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

PUT

URL BASE

http://api.provista.dev.nabrasil.org.br/v1

ENDPOINT

/informers/{id}

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
email 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