A API do Ravi Monitor utiliza um sistema de autenticação baseado em tokens com permissões granulares por módulo.
Os tokens são criados através da interface administrativa do Ravi Monitor:
Cada token pode ter as seguintes permissões:
Módulo | Descrição | Permissão |
---|---|---|
Concentradoras | Monitoramento de Conexões PPPoE | concentradora |
OLTs | Gerenciamento de OLTs e ONTs | olt |
DNS | Configuração de DNS | dns |
Envio de mensagens | whatsapp |
|
Dispositivos | Gerenciamento de Grupos, dispositivos e sensores | dispositivo |
curl -X POST "https://seu-servidor-ravi/api.php" \
-d "token=SEU_TOKEN_AQUI" \
-d "action=olt" \
-d "operation=search_olt"
curl "https://seu-servidor-ravi/api.php?token=SEU_TOKEN_AQUI&action=olt&operation=search_olt"
curl -X POST "https://seu-servidor-ravi/api.php?action=olt&operation=search_olt" \
-d "token=SEU_TOKEN_AQUI"
{
"status": "success",
"data": {
// Dados da operação
}
}
{
"status": "error",
"message": "Invalid token"
}
{
"status": "error",
"message": "Access denied for olt"
}
a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6
# ✅ Correto - variável de ambiente
export RAVI_API_TOKEN="seu_token_aqui"
curl -d "token=$RAVI_API_TOKEN" ...
# ❌ Incorreto - hardcoded no código
curl -d "token=a1b2c3d4e5f6g7h8" ...
#!/bin/bash
TOKEN="seu_token_aqui"
API_URL="https://seu-servidor-ravi/api.php"
# Função para fazer requisições à API
api_request() {
local action=$1
local operation=$2
shift 2
curl -s -X POST "$API_URL" \
-d "token=$TOKEN" \
-d "action=$action" \
-d "operation=$operation" \
"$@"
}
# Exemplo de uso
api_request "olt" "search_olt" -d "olt=1"
<?php
class RaviAPI {
private $token;
private $baseUrl;
public function __construct($token, $baseUrl) {
$this->token = $token;
$this->baseUrl = $baseUrl;
}
public function request($action, $operation, $params = []) {
$data = array_merge([
'token' => $this->token,
'action' => $action,
'operation' => $operation
], $params);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $this->baseUrl);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
return json_decode($response, true);
}
}
// Uso
$api = new RaviAPI('seu_token_aqui', 'https://seu-servidor-ravi/api.php');
$result = $api->request('olt', 'search_olt', ['olt' => 1]);
?>
Solução: Verificar se o parâmetro token
está sendo enviado
Solução:
Solução:
Importante: Mantenha seus tokens seguros e nunca os exponha em repositórios públicos ou logs de aplicação.