Nunciatura Provista

API Documentation V1

Gerenciar Lista Negra

Adiciona ou remove informador da lista negra (blacklist)

Este endpoint é do tipo: Protected

Descrição

Permite adicionar ou remover um informador da lista negra com as seguintes funcionalidades:

  • Aceita ID do informer ou ID do user como parâmetro
  • Atualiza o campo blacklisted (true/false)
  • Informadores na lista negra são bloqueados no login
  • Retorna mensagem apropriada conforme a ação
  • Requer autenticação JWT válida

Detalhes do Endpoint

VERBO

PUT

URL BASE

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

ENDPOINT

/informers/{id}/blacklist

Parâmetros da URL

Campo Tipo Obrigatório Descrição
id string (UUID) Sim ID do informer ou ID do user

Campos da Requisição

Campo Tipo Obrigatório Descrição
blacklisted boolean Sim true para adicionar à lista negra, false para remover

Cabeçalhos

Parâmetro Valor
Authorization Bearer <token>
Content-Type application/json

Exemplo de Requisição - Adicionar à Lista Negra

{
  "blacklisted": true
}

Exemplo de Requisição - Remover da Lista Negra

{
  "blacklisted": false
}

Respostas

Sucesso - 200 (Adicionado à lista negra)

{
  "success": true,
  "data": {
    "id": "uuid-user",
    "first_name": "João",
    "last_name": "Silva",
    "email": "joao.silva@diocese.com.br",
    "role": {"id": 2, "name": "Informador", "slug": "informador", "description": "Usuário informador com acesso limitado aos questionários"},
    "cpf": "11144477735",
    "phone": "(61) 98888-8888",
    "category": {"id": 5, "name": "Consultor diocesano", "description": "Descrição", "active": true},
    "blacklisted": true,
    "treatment_pronoun": {"id": 1, "name": "Pe.", "description": "Padre", "active": true},
    "diocese": {"id": 1, "name": "Arquidiocese de Brasília", "state": "DF", "active": true},
    "process": {"id": "uuid-processo", "name": "Provisão Diocese X", "protocol": "PROV-2025-001"},
    "group": {"id": "uuid-grupo", "name": "Grupo 1", "color": "#845ADF", "description": "Descrição do grupo"},
    "created_at": "2025-01-21T17:00:00.000000Z",
    "updated_at": "2025-01-21T18:30:00.000000Z"
  },
  "message": "Informador adicionado à lista negra com sucesso"
}

Sucesso - 200 (Removido da lista negra)

{
  "success": true,
  "data": {
    "id": "uuid-do-informer",
    "blacklisted": false,
    // ... outros campos
  },
  "message": "Informador removido da lista negra com sucesso"
}

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)

{
  "success": false,
  "message": "O campo blacklisted é obrigatório.",
  "errors": {
    "blacklisted": [
      "O campo blacklisted é obrigatório."
    ]
  }
}

Condição: Campo blacklisted não foi fornecido ou não é boolean

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 Status de blacklist atualizado com sucesso
404 Informador não encontrado
422 Dados de validação inválidos
401 Token inválido ou expirado

Atenção

  • Informadores na lista negra NÃO podem fazer login no sistema
  • Ao tentar fazer login, receberão erro 403 com mensagem de bloqueio
  • O campo blacklisted é retornado em todos os endpoints de informer
  • Apenas administradores devem ter acesso a este endpoint