APIs e integrações - ViniciusCasturino/Imperium-Remoto-B GitHub Wiki
O sistema Imperium Remoto possui uma arquitetura baseada em serviços, com comunicação entre o aplicativo mobile e o backend por meio de APIs RESTful. As integrações são fundamentais para garantir o funcionamento de funcionalidades como listagem de produtos, autenticação de usuários, processamento de pagamentos e notificações.
Estrutura da API A API foi desenvolvida em Java (Spring Boot), seguindo boas práticas de REST e com documentação compatível com OpenAPI/Swagger.
Principais Endpoints Autenticação
POST /api/auth/login – Autenticação do usuário
POST /api/auth/register – Cadastro de novo usuário
Produtos
GET /api/products – Lista todos os produtos (controles remotos)
GET /api/products/{id} – Detalhes de um produto específico
GET /api/products/search?query=tv+lg – Busca por nome ou modelo
Carrinho de Compras
POST /api/cart/add – Adiciona um item ao carrinho
DELETE /api/cart/remove/{itemId} – Remove um item do carrinho
GET /api/cart – Consulta os itens no carrinho do usuário
Pedidos
POST /api/orders – Finaliza o pedido
GET /api/orders/history – Histórico de pedidos do usuário
Notificações
POST /api/notifications/subscribe – Inscrição para notificações push
Integrações Externas
- Gateway de Pagamento Serviço Utilizado: [Exemplo: Stripe / Mercado Pago / PagSeguro]
Função: Processamento seguro de pagamentos via cartão de crédito ou PIX.
Integração: Backend Java realiza chamadas à API do provedor de pagamento e retorna o status para o app mobile.
- Firebase Cloud Messaging (FCM) Função: Envio de notificações push para promoções, atualizações de pedidos e novidades.
Integração: O frontend se registra com o token FCM, e o backend armazena esse token para envio futuro de mensagens.
- Serviço de Email Serviço Utilizado: (Exemplo: SendGrid / Mailgun)
Função: Envio de e-mails de confirmação de cadastro, recibos de compra e recuperação de senha.
Segurança da API Autenticação via JWT (JSON Web Token)
Proteção contra CORS e CSRF
Validação de entrada e tratamento de erros centralizado