{"info":{"_postman_id":"9e507c91-60f0-463d-a7c6-a7de42776cd1","name":"RESOLVE - API Gateway","description":"<html><head></head><body><p>StartFragmentEsta coleção do Postman documenta a API Gateway do Projeto RESOLVE, desenvolvida para centralizar a comunicação entre o frontend e os nossos microsserviços internos. O Gateway foi construído usando Node.js 20, TypeScript 5 e Express 4, rodando externamente na porta 8080. Para garantir que o sistema seja seguro e estável, nós aplicamos regras de CORS para os métodos HTTP e também uma proteção de Rate Limiting, que bloqueia abusos limitando as requisições a no máximo 200 por IP a cada 15 minutos. É o Gateway que recebe tudo e distribui o tráfego para os serviços de Autenticação, Demandas e Métricas.EndFragment.</p>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"owner":"40719566","collectionId":"9e507c91-60f0-463d-a7c6-a7de42776cd1","publishedId":"2sBXwtrADd","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"publishDate":"2026-06-17T22:47:02.000Z"},"item":[{"name":"Monitoramento","item":[{"name":"Status do Sistema","id":"67356516-951c-4e9b-8834-e02ab38319e3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{base_url}}/health","description":"<p>Esta requisição serve para verificar em tempo real o estado de funcionamento e a disponibilidade de cada microsserviço conectado ao API Gateway. Quando tudo está operando normalmente, o sistema retorna um status positivo ; caso algum serviço apresente falhas ou esteja fora do ar, o Gateway acusa uma resposta de sistema degradado.</p>\n","urlObject":{"path":["health"],"host":["{{base_url}}"],"query":[],"variable":[]}},"response":[{"id":"6ea9d0da-dc77-4751-a82a-63d298a99c00","name":"Sucesso - Status OK","originalRequest":{"method":"GET","header":[],"url":"{{base_url}}/health"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\r\n  \"status\": \"ok\"\r\n}"}],"_postman_id":"67356516-951c-4e9b-8834-e02ab38319e3"}],"id":"b4a64742-ad86-4145-b353-0e0c6152107f","description":"<p>Esta pasta é voltada para a supervisão do sistema através do recurso de Health Check. A função principal aqui é acompanhar se todos os microsserviços do ecossistema estão online e operando corretamente. Ela monitora de forma centralizada a disponibilidade dos serviços de Autenticação, Demandas e Métricas.</p>\n","_postman_id":"b4a64742-ad86-4145-b353-0e0c6152107f"},{"name":"Autenticação","item":[{"name":"Login","id":"7580a025-e046-4dd3-8564-d1360fda0135","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"url":"{{base_url}}/auth/login","description":"<p>Esta requisição é responsável por autenticar os usuários no sistema. Ela recebe as credenciais enviadas pelo frontend, faz as validações necessárias quanto aos campos obrigatórios e encaminha os dados para o microsserviço de autenticação validar o acesso. Se faltar alguma informação obrigatória, o sistema gera um retorno de erro.</p>\n","urlObject":{"path":["auth","login"],"host":["{{base_url}}"],"query":[],"variable":[]}},"response":[{"id":"bcfe1647-945d-4e74-b7aa-d16ce107909c","name":"Erro - Dados Inválidos","originalRequest":{"method":"GET","header":[]},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\r\n  \"error\": \"Mensagem do erro\"\r\n}"}],"_postman_id":"7580a025-e046-4dd3-8564-d1360fda0135"}],"id":"f34152b0-1387-4695-84cf-368deb0d80c0","description":"<p>Este é o espaço dedicado ao Microsserviço de Autenticação (Auth Service), que roda internamente na porta 3001. Ele é o grande responsável por gerenciar a segurança do sistema, cuidando do controle de acesso e do cadastro de usuários. Todas as comunicações aqui utilizam o formato JSON. Quando o API Gateway recebe qualquer requisição que comece com o prefixo \"/auth\", ele intercepta a chamada e a direciona para cá para que as credenciais sejam validadas com segurança.</p>\n","_postman_id":"f34152b0-1387-4695-84cf-368deb0d80c0"},{"name":"Demandas","item":[{"name":"Listar Demandas","id":"9abf1d8f-dfdb-45c8-8562-550ace8966cd","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{base_url}}/demands","description":"<p>Esta requisição é utilizada para listar as denúncias urbanas cadastradas no sistema. O API Gateway recebe o pedido neste endereço e faz um redirecionamento interno para o microsserviço correspondente. Caso a denúncia solicitada por meio de filtros ou identificadores específicos não seja localizada, a API devolve uma mensagem indicando que o recurso não foi encontrado.</p>\n","urlObject":{"path":["demands"],"host":["{{base_url}}"],"query":[],"variable":[]}},"response":[{"id":"21009c93-81f5-4486-bc7d-966c2f6b5978","name":"Erro - Demanda Não Encontrada","originalRequest":{"method":"GET","header":[]},"status":"Not Found","code":404,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\r\n  \"error\": \"Denúncia não encontrada\"\r\n}"}],"_postman_id":"9abf1d8f-dfdb-45c8-8562-550ace8966cd"}],"id":"b5cc6fb3-55eb-4b2c-94cf-8c960d9ce64a","description":"<p>Esta pasta concentra as operações do Microsserviço de Demandas (Demand Service), que opera na porta interna 3002. A função dele é cuidar de todo o ciclo de vida das denúncias urbanas da aplicação, o que inclui o cadastro, a consulta, as atualizações e a aplicação de filtros avançados. O formato padrão de conversas entre o frontend e este serviço é o JSON. Vale destacar que o API Gateway faz um trabalho inteligente aqui: ele recebe as chamadas externas no endereço \"/demands\" e, antes de repassar para o microsserviço, reescreve o caminho para \"/demandas\" automaticamente.</p>\n","_postman_id":"b5cc6fb3-55eb-4b2c-94cf-8c960d9ce64a"},{"name":"Métricas","item":[{"name":"Obter Métricas","id":"213f4c20-e8fb-496a-8726-f706e8b80091","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{base_url}}/metrics","description":"<p>Esta requisição é responsável por buscar e retornar os indicadores de desempenho, relatórios e métricas consolidadas de todo o sistema. Ela serve para agrupar as informações coletadas pelos outros microsserviços e disponibilizar esses dados estatísticos de forma limpa e direta para o frontend.</p>\n","urlObject":{"path":["metrics"],"host":["{{base_url}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"213f4c20-e8fb-496a-8726-f706e8b80091"}],"id":"bc99ca37-85ec-4693-b715-fa866734f351","description":"<p>Aqui ficam centralizadas as rotas do Microsserviço de Métricas (Metrics Service), que funciona na porta interna 3003. O principal objetivo deste serviço é gerar indicadores de desempenho, relatórios estatísticos e métricas consolidadas sobre como o sistema está sendo utilizado. Ele usa o formato JSON para trafegar os dados. Na prática, ele simplifica a vida do frontend ao juntar dados complexos em respostas limpas e diretas através do prefixo \"/metrics\".</p>\n","_postman_id":"bc99ca37-85ec-4693-b715-fa866734f351"}]}