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

  1. 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.

  1. 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.

  1. 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