Skip to main content

Endpoint

GET /api/v1/status

Autenticação

Este endpoint não requer autenticação, facilitando a verificação do status do serviço sem a necessidade de credenciais.

Response

{
  "status": "online",
  "timestamp": "2023-05-15T10:30:45Z",
  "version": "1.9.2",
  "environment": "production",
  "services": {
    "gateway": "online",
    "database": "online",
    "tokenizer": "online",
    "notifications": "online"
  },
  "latency": {
    "gateway": 45,
    "database": 120,
    "tokenizer": 38,
    "notifications": 78
  }
}

Campos da Resposta

CampoTipoDescrição
statusstringStatus geral da API: “online” ou “degraded”
timestampstringData e hora da verificação (formato ISO 8601)
versionstringVersão atual da API
environmentstringAmbiente atual (“production” ou “sandbox”)
servicesobjectStatus dos serviços individuais
latencyobjectLatência atual em milissegundos para cada serviço

Possíveis Status

  • online: O serviço está funcionando normalmente
  • degraded: O serviço está operacional, mas com performance reduzida
  • offline: O serviço está indisponível (apenas para serviços individuais)

Uso Recomendado

Monitoramento de Disponibilidade

Você pode implementar verificações regulares para garantir que o serviço esteja operacional:
async function checkApiStatus() {
  try {
    const response = await fetch('https://api.hydrahub.com.br/api/v1/status');
    const data = await response.json();
    
    if (data.status === 'online') {
      console.log('HYDRA HUB API está online e operacional');
      return true;
    } else {
      console.warn('HYDRA HUB API está com performance degradada');
      // Notificar equipe ou tomar ação apropriada
      return false;
    }
  } catch (error) {
    console.error('HYDRA HUB API está indisponível:', error);
    // Implementar mecanismo de fallback ou alertar equipe
    return false;
  }
}

// Verificar a cada 5 minutos
setInterval(checkApiStatus, 5 * 60 * 1000);

Verificação Pré-Transação

É recomendável verificar o status da API antes de iniciar operações críticas:
async function processPayment(paymentData) {
  // Verificar status da API antes de processar pagamento
  const statusCheck = await checkApiStatus();
  
  if (!statusCheck) {
    // Informar ao usuário sobre problemas com o processador de pagamentos
    return {success: false, message: 'Serviço temporariamente indisponível'};
  }
  
  // Prosseguir com o processamento do pagamento
  // ...
}

Limites de Taxa

Este endpoint tem um limite mais alto de requisições por minuto em comparação com outros endpoints:
  • 60 requisições por minuto por IP
  • 300 requisições por hora por IP
Exceder esses limites resultará em um erro HTTP 429 (Too Many Requests).

Boas Práticas

  1. Não abuse deste endpoint com verificações muito frequentes
  2. Implemente backoff exponencial em caso de falhas
  3. Defina alertas baseados no status e latência retornados
  4. Use timeouts adequados ao verificar o status (recomendado: 5 segundos)
  5. Verifique individualmente os status dos serviços para diagnósticos mais precisos
O ambiente de Sandbox pode ocasionalmente apresentar latências maiores ou status “degraded” durante manutenções programadas. Isso não afeta o ambiente de produção.