aivopro / integrity
AiVoPro System Integrity Manager - Verificação de saúde e configuração da API com suporte a JWT
Installs: 0
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/aivopro/integrity
Requires
- php: ^8.1|^8.2
- firebase/php-jwt: ^6.10
- guzzlehttp/guzzle: ^7.8
- iziphp/router: ^1.2
- psr/http-factory: ^1.0
- symfony/cache: ^6.0|^7.0
- symfony/http-client: ^6.0|^7.0
Requires (Dev)
- phpstan/phpstan: ^1.10
- phpunit/phpunit: ^10.0
- squizlabs/php_codesniffer: ^3.7
This package is auto-updated.
Last update: 2026-01-20 05:09:37 UTC
README
Sistema de Verificação de Integridade para o Ecossistema 28Fácil
Pacote PHP para monitoramento e validação da saúde da API api.28facil.com.br, incluindo health checks, validação de credenciais e verificação de dependências essenciais.
📦 Instalação
Instale via Composer:
composer require 28facil/integrity
🚀 Uso Básico
Health Check Simples
use AiVoPro\Integrity\IntegrityManager; $manager = new IntegrityManager('https://api.28facil.com.br'); // Verificação rápida if ($manager->isHealthy()) { echo "API está saudável!"; } else { echo "API com problemas: " . $manager->getLastError(); }
Auditoria Completa
use AiVoPro\Integrity\IntegrityManager; $manager = new IntegrityManager( apiUrl: 'https://api.28facil.com.br', apiKey: 'sua-api-key-aqui' ); // Executa todas as checagens $report = $manager->audit(); echo "Status Geral: " . $report->getStatus() . "\n"; echo "Versão da API: " . $report->getVersion() . "\n"; echo "Tempo de Resposta: " . $report->getResponseTime() . "ms\n"; // Verificar checagens individuais foreach ($report->getChecks() as $check) { echo sprintf( "[%s] %s: %s\n", $check->isPassed() ? '✓' : '✗', $check->getName(), $check->getMessage() ); }
Checagens Específicas
// Verificar apenas a versão $version = $manager->checkVersion(); echo "Versão atual: {$version->version}\n"; // Validar credenciais $auth = $manager->checkAuthentication('sua-api-key'); if ($auth->isValid()) { echo "Credenciais válidas!\n"; } // Verificar dependências $deps = $manager->checkDependencies(); foreach ($deps->getServices() as $service => $status) { echo "{$service}: " . ($status ? 'OK' : 'FALHOU') . "\n"; }
🔍 Checagens Disponíveis
| Checagem | Descrição |
|---|---|
| Health Check | Verifica se a API está respondendo |
| Version Check | Obtém e valida a versão da API |
| Authentication | Valida API keys e tokens |
| Dependencies | Verifica serviços essenciais (DB, Redis, etc) |
| Performance | Mede tempo de resposta e latência |
| Endpoints | Testa endpoints críticos |
⚙️ Configuração Avançada
Com Cache
use Symfony\Component\Cache\Adapter\FilesystemAdapter; $cache = new FilesystemAdapter('28facil_integrity', 300); $manager = new IntegrityManager( apiUrl: 'https://api.28facil.com.br', cache: $cache );
Timeout Customizado
$manager = new IntegrityManager( apiUrl: 'https://api.28facil.com.br', timeout: 10.0, // segundos retries: 3 );
Modo Silencioso (sem exceções)
$manager = new IntegrityManager( apiUrl: 'https://api.28facil.com.br', throwExceptions: false ); $report = $manager->audit(); if (!$report->isSuccess()) { // Lidar com erros sem exceções error_log($report->getErrorMessage()); }
📊 Relatório de Auditoria
O método audit() retorna um objeto AuditReport com:
$report->getStatus(); // 'healthy', 'degraded', 'down' $report->getVersion(); // Versão da API $report->getResponseTime(); // Tempo em ms $report->getTimestamp(); // DateTime da checagem $report->getChecks(); // Array de Check objects $report->isHealthy(); // bool $report->toArray(); // Array para JSON/log $report->toJson(); // JSON string
🧪 Testes
# Rodar testes composer test # Análise estática composer phpstan # Code style composer phpcs # Tudo junto composer analyse
📝 Exemplo: Monitoramento Contínuo
// Script para cron job (a cada 5 minutos) use AiVoPro\Integrity\IntegrityManager; $manager = new IntegrityManager('https://api.28facil.com.br'); $report = $manager->audit(); if (!$report->isHealthy()) { // Enviar alerta mail( 'admin@28facil.com.br', '⚠️ API 28Fácil com problemas', $report->toJson() ); // Log error_log('[28Fácil] API Health: ' . $report->getStatus()); }
🛠️ Requisitos
- PHP 8.1 ou superior
- Extensões:
json,curl - Composer
📄 Licença
MIT License - veja LICENSE para detalhes.
🤝 Contribuindo
Contribuições são bem-vindas! Por favor:
- Fork o projeto
- Crie uma branch para sua feature (
git checkout -b feature/MinhaFeature) - Commit suas mudanças (
git commit -m 'Add: Nova funcionalidade') - Push para a branch (
git push origin feature/MinhaFeature) - Abra um Pull Request
📧 Suporte
- Website: 28facil.com.br
- Email: contato@28facil.com.br
- Issues: GitHub Issues
Desenvolvido com ❤️ pela equipe 28Fácil / AiVoPro