Skip to Content
Referência da APIHealth Check

Verificação de Saúde

Verifique o status operacional do serviço SharpAPI, incluindo conectividade do backend e atualização dos dados.

GET /api/v1/health

AutenticaçãoPermalink for this section

Nenhuma autenticação necessária. Este é um endpoint público.

Exemplos de RequisiçõesPermalink for this section

curl -X GET "https://api.sharpapi.io/api/v1/health"

RespostaPermalink for this section

Saudável (200)Permalink for this section

{ "status": "ok", "version": "v1", "timestamp": "2026-02-08T15:00:00.123Z", "checks": { "redis": { "status": "ok", "latency_ms": 2 }, "data": { "status": "ok", "message": "5 sportsbook snapshots available" }, "schema": { "status": "ok", "message": "All 14 required fields present" } } }

Degradado (200)Permalink for this section

Quando o serviço está parcialmente funcional, o status será degraded:

{ "status": "degraded", "version": "v1", "timestamp": "2026-02-08T15:00:00.123Z", "checks": { "redis": { "status": "ok", "latency_ms": 5 }, "data": { "status": "degraded", "message": "No snapshot data in Redis" }, "schema": { "status": "degraded", "message": "Schema drift: missing fields [selectionType] in draftkings snapshot" } } }

Inativo (503)Permalink for this section

Quando o serviço não consegue funcionar, o status será down e o código de status HTTP será 503:

{ "status": "down", "version": "v1", "timestamp": "2026-02-08T15:00:00.123Z", "checks": { "redis": { "status": "down", "message": "Redis unreachable" } } }

Cabeçalhos de RespostaPermalink for this section

X-Request-Id: req_health456def

O endpoint de saúde não retorna cabeçalhos de rate limit nem cabeçalhos de tier, pois não requer autenticação.

Campos da RespostaPermalink for this section

Campos de Nível SuperiorPermalink for this section

CampoTipoDescrição
statusstringStatus geral do sistema: ok, degraded ou down
versionstringVersão atual da API
timestampstringTimestamp ISO 8601 desta verificação de saúde
checksobjectVerificações individuais de saúde dos subsistemas

Valores de StatusPermalink for this section

StatusCódigo HTTPSignificado
ok200Todos os sistemas operacionais
degraded200Funcional, mas com desempenho reduzido ou dados desatualizados
down503Serviço indisponível

Verificação do RedisPermalink for this section

CampoTipoDescrição
statusstringStatus de conectividade com o Redis: ok ou down
latency_msnumber | nullLatência de ida e volta até o Redis em milissegundos
messagestringMensagem de status legível para humanos

Verificação de DadosPermalink for this section

CampoTipoDescrição
statusstringStatus de atualização dos dados: ok ou degraded
messagestringMensagem de status legível para humanos (ex.: “5 sportsbook snapshots available”)

Verificação de SchemaPermalink for this section

Incluída apenas em requisições GET (não em HEAD). Verifica se os dados de snapshot upstream contêm todos os campos obrigatórios.

CampoTipoDescrição
statusstringStatus de compatibilidade do schema: ok ou degraded
messagestringMensagem de status legível para humanos (ex.: “All 14 required fields present”)

Lógica de StatusPermalink for this section

O status geral é determinado pela pior verificação individual:

  • ok - Todas as verificações estão ok
  • degraded - Pelo menos uma verificação está degraded, nenhuma está down
  • down - Pelo menos uma verificação está down

Disponibilidade dos DadosPermalink for this section

CondiçãoStatusDescrição
1+ snapshots de sportsbookokDados de snapshot disponíveis no Redis
0 snapshots no RedisdegradedNenhum dado de snapshot encontrado
Redis inacessível(não verificado)A verificação de dados é ignorada quando o Redis está inativo

Casos de UsoPermalink for this section

Monitoramento e AlertasPermalink for this section

Use o endpoint de saúde em sua stack de monitoramento (Prometheus, Datadog, UptimeRobot, etc.) para detectar problemas:

# Simple health check for monitoring scripts STATUS=$(curl -s https://api.sharpapi.io/api/v1/health | jq -r '.status') if [ "$STATUS" != "ok" ]; then echo "ALERT: SharpAPI status is $STATUS" fi

Verificação de Saúde Pré-RequisiçãoPermalink for this section

Verifique a saúde antes de fazer requisições críticas:

async function safeRequest(endpoint) { const health = await fetch('https://api.sharpapi.io/api/v1/health') .then(r => r.json()); if (health.status === 'down') { throw new Error('SharpAPI is currently down'); } if (health.status === 'degraded') { console.warn('SharpAPI is degraded - data may be stale'); } return fetch(`https://api.sharpapi.io/api/v1${endpoint}`, { headers: { 'X-API-Key': 'YOUR_API_KEY' } }).then(r => r.json()); }

Painel de UptimePermalink for this section

import requests from datetime import datetime response = requests.get('https://api.sharpapi.io/api/v1/health') health = response.json() print(f"SharpAPI Status: {health['status'].upper()}") print(f"Version: {health['version']}") print(f"Checked at: {health['timestamp']}") print() for name, check in health['checks'].items(): status_icon = {'ok': 'PASS', 'degraded': 'WARN', 'down': 'FAIL'} print(f" [{status_icon.get(check['status'], '???')}] {name}: {check.get('message', 'healthy')}") if name == 'redis' and check.get('latency_ms') is not None: print(f" Latency: {check['latency_ms']}ms")

Endpoints RelacionadosPermalink for this section

Last updated on