🛡️ 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"
}