Gerenciar Lista Negra
Adiciona ou remove informador da lista negra (blacklist)
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.hmg.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