Códigos de Erro da API

Visão Geral

Esta seção documenta todos os códigos de erro possíveis da API do Ravi Monitor, organizados por categoria e módulo.

Códigos HTTP

200 - OK

Operação realizada com sucesso.

400 - Bad Request

Erro na estrutura da requisição ou parâmetros inválidos.

401 - Unauthorized

Token de autenticação inválido ou não fornecido.

403 - Forbidden

Token válido mas sem permissão para o módulo solicitado.

500 - Internal Server Error

Erro interno do servidor.

Erros Gerais da API

Autenticação

Mensagem Causa Solução
"Token not provided" Parâmetro token não enviado Incluir token na requisição
"Invalid token" Token inválido ou expirado Verificar token ou gerar novo
"Access denied for [módulo]" Token sem permissão para o módulo Solicitar permissões ao administrador

Parâmetros

Mensagem Causa Solução
"Action not provided" Parâmetro action não enviado Incluir action na requisição
"Invalid action" Action não reconhecida Usar: olt, dns, whatsapp
"Please provide a valid operation" Operation não informada Incluir operation específica do módulo

Sistema

Mensagem Causa Solução
"Database connection error" Falha na conexão com banco Verificar status do banco de dados
"Database error: [detalhes]" Erro específico do banco Verificar logs e configuração

Erros da API OLT

Parâmetros Obrigatórios

Mensagem Operação Solução
"Missing required parameter: [parâmetro]" activation Incluir todos os parâmetros obrigatórios
"OLT ID is required" Todas Incluir parâmetro olt
"At least one parameter must be provided: 'mac', 'ns', or 'slot'" search_ont Incluir pelo menos um critério de busca

Dados Não Encontrados

Mensagem Causa Solução
"OLT not found" ID da OLT inválido Verificar ID da OLT
"Model id [X] not found" ID do modelo da ONT inválido Verificar modelos disponíveis
"ONT not found" ONT não existe ou critérios inválidos Verificar parâmetros de busca

Limitações de Serviço

Mensagem Causa Solução
"Service not available for this OLT model" Operação não suportada pela marca Verificar marca da OLT
"Nokia functions not available" Funções Nokia não carregadas Verificar instalação/configuração

Erros de Conexão

Mensagem Causa Solução
"Error connecting. IP: [detalhes]" Falha na conexão SSH/Telnet Verificar conectividade e credenciais

Erros da API DNS

Parâmetros

Mensagem Operação Solução
"Please provide a valid domain" add_domain Incluir parâmetro domain
"Please provide domain, subdomain, type and host" add_subdomain Incluir todos os parâmetros obrigatórios
"Please provide domain, subdomain and record type" search_subdomain, delete_subdomain Incluir domain, subdomain e type
"Please provide the domain to be deleted" delete_domain Incluir parâmetro domain

Dados Existentes/Não Encontrados

Mensagem Causa Solução
"Domain already exists" Domínio já cadastrado Usar domínio diferente ou atualizar existente
"Domain not found" Domínio não existe Verificar nome do domínio
"Entry already exists" Registro DNS já existe Usar valores diferentes
"Subdomain not found" Registro não encontrado Verificar parâmetros

Status do Serviço

Mensagem Causa Solução
"No DNS log data found" Sem dados de log DNS Aguardar coleta de dados

Erros da API WhatsApp

Configuração do Serviço

Mensagem Causa Solução
"WhatsApp API is disabled" Serviço desabilitado no sistema Habilitar WhatsApp nas configurações
"No client connected" Cliente WhatsApp não conectado Conectar cliente WhatsApp

Parâmetros de Mensagem

Mensagem Causa Solução
"Message cannot be empty" Mensagem vazia ou só espaços Incluir texto da mensagem
"Please provide contacts" Parâmetro contacts não informado Incluir lista de contatos
"No valid contacts provided" Contatos em formato inválido Verificar formato dos números

Falhas de Envio

Mensagem Código Solução
"No client connected" 1212 Verificar conexão do WhatsApp
"Message sending failed" 1213 Verificar logs de debug
"Sending error" Variável Verificar detalhes do erro retornado

Respostas de Sucesso

Operações Gerais

Mensagem Significado
"ok" Operação realizada com sucesso

OLT Específicas

Mensagem Operação
"ONT activated successfully" Ativação de ONT
"ONT removed successfully" Exclusão de ONT
"Search completed successfully" Buscas diversas

DNS Específicas

Resposta Operação
"true" Registro encontrado
"false" Registro não encontrado

Debugging e Troubleshooting

1. Verificar Parâmetros

# Exemplo de requisição básica
curl -X POST "https://seu-servidor-ravi/api.php" \
  -d "token=SEU_TOKEN" \
  -d "action=olt" \
  -d "operation=search_olt" \
  -d "olt=1" \
  -v  # Mostra detalhes da requisição

2. Testar Conectividade

# Verificar se a API está respondendo
curl -I "https://seu-servidor-ravi/api.php"

# Verificar status básico
curl -X POST "https://seu-servidor-ravi/api.php" \
  -d "token=SEU_TOKEN" \
  -d "action=whatsapp" \
  -d "operation=status"

3. Validar Permissões

# Testar acesso a diferentes módulos
for module in olt dns whatsapp; do
  echo "Testando módulo: $module"
  curl -s -X POST "https://seu-servidor-ravi/api.php" \
    -d "token=SEU_TOKEN" \
    -d "action=$module" \
    -d "operation=status" | jq -r '.msg // .status // "OK"'
done

Códigos de Retorno por Módulo

OLT

DNS

WhatsApp

Boas Práticas

1. Tratamento de Erros

$response = json_decode($apiResponse, true);

if (isset($response['status']) && $response['status'] === 'error') {
    // Erro estruturado da API principal
    handleError($response['message']);
} elseif (isset($response['msg']) && $response['msg'] !== 'ok') {
    // Erro específico do módulo
    handleModuleError($response['msg']);
} else {
    // Sucesso
    processSuccess($response);
}

2. Logging de Operações

# Log todas as operações importantes
echo "$(date): Ativando ONT $serial na OLT $olt" >> api_operations.log
curl ... >> api_operations.log 2>&1

Importante: Mantenha seus tokens seguros e monitore o uso da API para identificar padrões de erro.