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
"ok"
- Operação realizada
"false"
- Operação falhou
- Logs detalhados para operações Nokia
DNS
"ok"
- Operação realizada
"true"/"false"
- Para verificações de existência
- Objetos JSON para consultas
WhatsApp
"ok"
- Mensagem enviada
1212
- Cliente não conectado
1213
- Falha no envio
- Objetos de status para verificações
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.