Autorizar ONUs (Liberação)

Transmissores (OLT)

Nesse primeiro passo, será realizado uma consulta em Transmissores (radpop_radio)

//URL: https://host/webservice/v1/radpop_radio
//Método: GET
{
"qtype" : "radpop_radio.id",
"query" : "",
"oper" : "=",
"page" : "1",
"rp" : "2000",
"sortname" : "radpop_radio.id",
"sortorder" : "desc"
}

Depois de feito a consulta, deve ser gravado em uma variável (string), o id do transmissor OLT, para ser utilizado futuramente.

ONU não autorizadas

Em seguida é realizado uma consulta das ONU's não autorizadas.

//URL: https://host/webservice/v1/fh_onu_nao_autorizadas
//Método: GET
{
    "qtype" : "fh_onu_nao_autorizadas.id",
    "query" : "1",
    "oper" : ">=",
    "page" : "1",
    "rp" : "2000",
    "sortname" : "fh_onu_nao_autorizadas.id",
    "sortorder" : "desc"
}

Depois é salvo o ID em uma variável (string), para ser utilizado na "Autorizar ONU".

Autorizar ONU

Semelhante ao clicar no botão "Autorizar ONU", na interface, aqui é feito uma requisição utilizando o id de ONU não autorizada.

//URL: https://host/webservice/v1/fh_onu_nao_autorizadas_22396
//Método: GET
{
    "get_id":"1"
}

Após a autorização der sucesso, o Cliente Fibra é criado e deve-se guardar o ID desse cliente fibra, para realizarmos a próxima alteração PUT.

Perfil

A seguir é realizado uma consulta de perfis do Cliente Fibra.

//URL: https://host/webservice/v1/radpop_radio_cliente_fibra_perfil
//Método: GET
{
    "qtype" : "radpop_radio_cliente_fibra_perfil.id",
    "query" : "1",
    "oper" : ">=",
    "page" : "1",
    "rp" : "2000",
    "sortname" : "radpop_radio_cliente_fibra_perfil.id",
    "sortorder" : "desc"
}

Depois é salvo um ID do Perfil de Cliente Fibra em uma variável (string).

Cliente Fibra (ONU)

Agora é realizado um PUT em Cliente Fibra (no id recém criado da autorização de ONU), para inserir os dados das variáveis guardadas, respectivamente:

  • ID do Transmissor: "id_transmissor":"1"

  • ID do Perfil: "id_perfil":"1"

//URL: https://host/webservice/v1/radpop_radio_cliente_fibra/id
//Método: PUT
{
            "id_projeto": "",
            "id_contrato": "",
            "gemport": "",
            "ip_gerencia": "",
            "login_onu_cliente": "",
            "senha_onu_cliente": "",
            "porta_telnet_onu_cliente": "",
            "perfil_onu_cliente": "",
            "script_onu_cliente": "",
            "senorid": "",
            "latitude": "",
            "longitude": "",
            "endereco_padrao_cliente": "",
            "id_condominio": "",
            "bloco": "",
            "apartamento": "",
            "cep": "",
            "endereco": "",
            "numero": "",
            "bairro": "",
            "cidade": "",
            "referencia": "",
            "complemento": "",
            "distancia_onu": "",
            "vlan_dhcp": "",
            "vlan_tr69": "",
            "vlan_iptv": "",
            "vlan_voip": "",
            "vlan_pppoe": "",
            "vlan_outros": "",
            "id_ramal": "",
            "id_onu_unms": "",
            "id_activity": "",
            "radpop_estrutura": "",
            "porta_web_onu_cliente": "",
            "tipo_operacao": "",
            "id_transmissor": "",
            "nome": "",
            "id_caixa_ftth": "",
            "porta_ftth": "",
            "id_login": "",
            "onu_numero": "",
            "service_port": "",
            "onu_tipo": "",
            "ponid": "",
            "mac": "",
            "comandos": "",
            "sinal_rx": "",
            "sinal_tx": "",
            "temperatura": "",
            "voltagem": "",
            "data_sinal": "",
            "id_perfil": "",
            "slotno": "",
            "ponno": "",
            "tipo_autenticacao": "",
            "versao": "",
            "vlan": "",
            "causa_ultima_queda": "",
            "id_hardware": ""
        }

Gravar dispositivo

Após alterar os dados de cliente fibra conforme, necessário, para finalizar todo o processo, semelhante a interface, onde é clicado no botão "Gravar dispositivo", aqui é feita uma requisição de Gravar no dispositivo.

//URL: https://host/webservice/v1/botao_gravar_dispositivo_22408
//Método: GET
{
"id" : "4"//ID Cliente fibra
}

Código PHP

Liberação/Autorizar ONU em PHP
<?php
require(__DIR__ . DIRECTORY_SEPARATOR . 'WebserviceClient.php');
$host = 'http://SEUIP/webservice/v1';
$token =  'SEUTOKEN';
$selfSigned = false;
$api = new IXCsoft\WebserviceClient($host, $token, $selfSigned);

// ---------------------------------------------------------------------------------

$params01 = array(
    'qtype' => 'radpop_radio.id',//campo de filtro
    'query' => '',//valor para consultar
    'oper' => '=',//operador da consulta
    'page' => '1',//página a ser mostrada
    'rp' => '20',//quantidade de registros por página
    'sortname' => 'radpop_radio.id',//campo para ordenar a consulta
    'sortorder' => 'desc'//ordenação (asc= crescente | desc=decrescente)
);

$api->get('radpop_radio', $params01);
$retorno = $api->getRespostaConteudo(true);// false para json | true para array

// Nessa requisição irá ser feito a consulta de todas as OLTs cadastradas

$id_olt[1] = $retorno["registros"][1]["id"];//salva o id da OLT que está na posição 1 do array
echo "<pre>";
var_dump("ID da OLT: ". $id_olt[1])."\n";



// ---------------------------------------------------------------------------------

$params02 = array(
    'grid_param' => json_encode(array(array('TB' => 'id_olt', 'OP' => '=', 'P' => $id_olt[1])
)));

$api->get('fh_onu_nao_autorizadas', $params02);
$retorno_onu = $api->getRespostaConteudo(true);// false para json | true para array

//Na requisição acima é feito a consulta de ONUs desautorizadas na OLT que gravamos o ID na requsição anterior

$onu_auth[0] = $retorno_onu["rows"][0]["id"]; //Salva a String com o conteudo que irá ser passada na proxima requisição
echo "<pre>";
var_dump("Conteudo: ". $onu_auth[0])."\n";

// ---------------------------------------------------------------------------------

$params03 = array(
    'get_id' => $onu_auth[0]
);
$api->post('fh_onu_nao_autorizadas_22396', $params03);//chama o botao que cria o registro de cliente fibra pré configurado, com MAC, ponid, etc da ONU
$retorno_auth = $api->getRespostaConteudo(true);// false para json | true para array
echo "<pre>";
var_dump($retorno_auth); //Imprime o retorno


$id_clientefibra = $retorno_auth["id"]; //guarda o ID do cliente fibra que foi criado
echo "<pre>";
var_dump("ID Registro: ". $id_clientefibra)."\n";

// ---------------------------------------------------------------------------------

//Nessa requisição irá listar os scripts
$params04 = array(
    'qtype' => 'radpop_radio_cliente_fibra_perfil.id',//campo de filtro
    'query' => '',//valor para consultar
    'oper' => '=',//operador da consulta
    'page' => '1',//página a ser mostrada
    'rp' => '20',//quantidade de registros por página
    'sortname' => 'radpop_radio_cliente_fibra_perfil.id',//campo para ordenar a consulta
    'sortorder' => 'desc'//ordenação (asc= crescente | desc=decrescente)
);

$api->get('radpop_radio_cliente_fibra_perfil', $params04);
$retorno_perfil = $api->getRespostaConteudo(true);// false para json | true para array

$id_perfil[1] = $retorno_perfil["registros"][1]["id"];//salva o script que está na posição 1 do array
$comando_perfil[1] = $retorno_perfil["registros"][1]["comando"];
echo "<pre>";
var_dump("ID do Perfil: ". $id_perfil[1])."\n";
var_dump("Comando: ". $comando_perfil[1])."\n";

// ---------------------------------------------------------------------------------

//nessa requisição editamos o cliente fibra com todas as informações que são necessárias
$params05 = array(
    'id_projeto' => '1',
    'id_caixa_ftth' => '1',
    'porta_ftth' => '3',
    'id_transmissor' => '1',
    'id_hardware' => '0',
    'id_contrato' => '5',
    'id_login' => '4    ',
    'id_ramal' => '',
    'nome' => 'TESTE_API',
    'mac' => '4857544382A6526A',
    'id_perfil' => $id_perfil[1],
    'ponid' => '0/8/0',
    'vlan' => '800',
    'onu_numero' => '',
    'gemport' => '',
    'service_port' => '0',
    'comandos' => $comando_perfil[1],
    'vlan_pppoe' => '',
    'vlan_dhcp' => '',
    'vlan_tr69' => '',
    'vlan_iptv' => '',
    'vlan_voip' => '',
    'vlan_outros' => '',
    'ip_gerencia' => '',
    'login_onu_cliente' => 'admin',
    'senha_onu_cliente' => 'admin',
    'porta_telnet_onu_cliente' => '23',
    'perfil_onu_cliente' => '',
    'script_onu_cliente' => '',
    'onu_tipo' => 'HWTC',
    'slotno' => '8',
    'ponno' => '0',
    'tipo_autenticacao' => 'MAC',
    'versao' => '',
    'sinal_rx' => '',
    'sinal_tx' => '',
    'temperatura' => '',
    'voltagem' => '',
    'data_sinal' => '',
    'senorid' => '',
    'distancia_onu' => '',
    'id_onu_unms' => '',
    'endereco_padrao_cliente' => 'S',
    'condominio_cliente' => '',
    'id_condominio' => '',
    'bloco_cliente' => '',
    'bloco' => '',
    'apartamento_cliente' => '',
    'apartamento' => '',
    'cep_cliente' => '',
    'cep' => '',
    'endereco_cliente' => '',
    'endereco' => '',
    'numero_cliente' => '',
    'numero' => '',
    'bairro_cliente' => '',
    'bairro' => '',
    'cidade_cliente' => '',
    'cidade' => '',
    'referencia_cliente' => '',
    'referencia' => '',
    'complemento_cliente' => '',
    'complemento' => '',
    'latitude' => '',
    'longitude' => ''
);
$id_reg = $id_clientefibra;
$api->put('radpop_radio_cliente_fibra', $params05, $id_reg);
$retorno = $api->getRespostaConteudo(true);// false para json | true para array
echo "<pre>";
var_dump($retorno); //Imprime o retorno


// ---------------------------------------------------------------------------------

//nessa requisição com tudo já pronto, só chamamos o botão de gravar no dispositivo passando o ID do cliente fibra desejado. 
$params06 = array(
    'id' => $id_reg
);
$api->post('botao_gravar_dispositivo_22408', $params06);
$retorno_autorizacao = $api->getRespostaConteudo(false);// false para json | true para array
echo "<pre>";
var_dump($retorno_autorizacao); //Imprime o retorno

Last updated