NVGO Civitas AI

API Documentation

Sistema de Processamento de RSS
com Inteligência Artificial

Visão Geral

Sobre a API

O NVGO Civitas AI é uma API REST que processa feeds RSS e utiliza inteligência artificial para análise e categorização automática de notícias.

  • Categorização automática de notícias
  • Análise de localização geográfica
  • Análise de sentimento (positivo/negativo)
  • Filtros inteligentes por localização e eventos
  • Cache inteligente para otimização

Informações Técnicas

Base URL: http://localhost:8000/api
Autenticação: Bearer Token
Formato: JSON
Versão: 1.0.0

Usuário Padrão

Email: Consulte o arquivo database/seeders/UserSeeder.php
Senha: Consulte o arquivo database/seeders/UserSeeder.php

Categorias Padrão

Quando nenhum parâmetro events é fornecido, o sistema utiliza as seguintes categorias padrão para classificação automática das notícias:

Elogios e Sugestões
Manutenção em Via
Transporte e Transito
Ouvidoria Geral do Município
Turismo
Hospitais e Postos de Saúde
Alvará de Funcionamento
Esgoto
Poluição Sonora
Sinalização
Iluminação Pública
Limpeza Pública
Bem Público Danificado
Estacionamento Irregular
Serviços Ilegais
Ocupação Irregular
Animais Soltos na Via
Poluição
Foco de Dengue
Escolas Municipais
Sugestão de Projetos
Eventos Culturais
Podas de Árvores e Plantas
Uso Indevido de Espaço Público
Coleta Seletiva
Praias e Áreas Turísticas
Transporte Escolar
Outros

Sistema de Cache

Cache Inteligente

A API implementa um sistema de cache que evita reprocessamento de feeds já analisados.

Duração do Cache

1 dia (24 horas)

Os resultados são cacheados por 24 horas para otimizar performance e reduzir custos de API.

Chave do Cache

Combinação de:

  • • URL do feed RSS
  • • Filtro de localização (se fornecido)
  • • Lista de eventos (se fornecida)

Exemplo de Resposta com Cache

Resposta quando o resultado vem do cache:
{
  "message": "RSS feed processed successfully (cached result)",
  "request_id": 123,
  "cached": true,
  "original_request_date": "2024-01-01T10:30:00.000000Z",
  "total_items_saved": 25,
  "matching_items_count": 8,
  "all_news": [...],
  "matching_news": [...]
}

Autenticação

Importante

Todas as rotas (exceto criação de token) requerem autenticação via Bearer Token no header Authorization.

Header de Autenticação:
Authorization: Bearer YOUR_TOKEN_HERE
Exemplo de Requisição:
curl -X POST http://localhost:8000/api/process-rss \
  -H "Authorization: Bearer 1|abc123def456..." \
  -H "Content-Type: application/json" \
  -d '{"rss_url": "https://exemplo.com/feed.xml"}'

Endpoints da API

POST /api/tokens/create No Auth

Cria um novo token de acesso para o usuário

GET /api/user Auth Required

Retorna informações do usuário autenticado

POST /api/process-rss Auth Required

Processa um feed RSS e analisa as notícias usando IA

GET /api/tokens Auth Required

Lista todos os tokens do usuário autenticado

POST /api/tokens/revoke Auth Required

Revoga todos os tokens do usuário autenticado

Exemplos Práticos

Processamento Básico

curl -X POST http://localhost:8000/api/process-rss \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "rss_url": "https://g1.globo.com/rss/g1/"
  }'

Com Filtros

curl -X POST http://localhost:8000/api/process-rss \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "rss_url": "https://g1.globo.com/rss/g1/",
    "location": "São Paulo",
    "events": ["Transporte e Transito", "Iluminação Pública"]
  }'