🛡️ SeguroController - bbarrosomoreira/digital-bank-api GitHub Wiki
📄 PT-BR | EN-US
🇧🇷 SeguroController – Descrição
Este controller gerencia a contratação e o controle de seguros pelos clientes. São oferecidos dois tipos de seguro: Seguro Contra Fraudes e Seguro Viagem. O cliente pode contratar seguros para proteger suas operações, enquanto o administrador pode visualizar todos os seguros ativos.
🇺🇸 SeguroController – Description
This controller manages the hiring and control of insurance plans by clients. Two types of insurance are offered: Fraud Insurance and Travel Insurance. Clients can hire insurance to protect their operations, while admins can view all active insurances.
📥 Endpoints
Método | Endpoint | Acesso | Descrição (PT-BR) | Description (EN-US) |
---|---|---|---|---|
POST | /seguros |
CLIENTE | Contrata um seguro para um cartão de crédito | Purchases insurance for a credit card |
GET | /seguros/tipos |
ADMIN/CLIENTE | Lista todos os tipos de seguros do banco | Lists all types of insurance offered by the bank |
GET | /seguros/meus-seguros |
CLIENTE | Lista os seguros contratados pelo cliente | Lists insurances purchased by the logged-in client |
GET | /seguros |
ADMIN | Lista todos os seguros contratados | Lists all insurance plans in the system |
GET | /seguros/cartao/{id_cartao} |
ADMIN/CLIENTE | Retorna seguro por ID do cartão (cliente só acessa as próprias) | Returns insurance by card ID (client can only access their own) |
GET | /seguros/cliente/{id_cliente} |
ADMIN/CLIENTE | Retorna seguro por ID do cliente (cliente só acessa as próprias) | Returns insurance by client ID (client can only access their own) |
GET | /seguros/{id_seguro} |
ADMIN/CLIENTE | Retorna seguro por ID do seguro (cliente só acessa as próprias) | Returns insurance by insurance ID (client can only access their own) |
PUT | /seguros/{id_seguro}/cancelar |
ADMIN/CLIENTE | Desabilita a apólice do seguro (cliente só acessa as próprias) | Disables the insurance policy (client can only access their own) |
PUT | /seguros/fraude/{id_seguro}/acionar |
ADMIN/CLIENTE | Aciona o seguro contra fraude (cliente só acessa as próprias) | Activates fraud insurance (client can only access their own) |
PUT | /seguros/viagem/{id_seguro}/acionar |
ADMIN/CLIENTE | Aciona o seguro de viagem (cliente só acessa as próprias) | Activates travel insurance (client can only access their own) |
POST | /seguros/viagem/{id_seguro}/premio |
ADMIN | Debita o valor do prêmio do seguro | Debits the insurance premium amount |
DELETE | /seguros/cliente/{id_cliente} |
ADMIN | Exclui seguro por ID do cliente | Deletes an insurance by client ID |
🔐 Regras de Acesso
- Clientes podem contratar seguros para seus cartões de créditos e ver apenas os seus.
- Administradores podem visualizar todos os seguros contratados.
💡 Tipos de Seguro
FRAUDE
: Protege o cliente contra transações indevidas.VIAGEM
: Oferece cobertura em viagens nacionais ou internacionais.
📌 Exemplos (JSON)
Contratação de seguro
Requisição (CLIENTE):
POST /seguros
Authorization: Bearer {token}
Content-Type: application/json
{
"id_cartao": 1,
"tipo": "fraude"
}
Resposta:
{
"tipoSeguro": "Seguro de Fraude",
"numApolice": "DD991715",
"dataContratacao": "24-04-2025",
"numCartao": "4031 6952 0613 4679",
"categoriaCliente": "Comum",
"valorApolice": 5000.0,
"descricaoCondicoes": "Cobertura automática para fraudes no cartão, com um valor base de R$5.000,00",
"premioApolice": 0.00,
"statusSeguro": "ATIVADO"
}