Listar contratos com status de acesso


No sistema IXC Provedor, podemos realizar várias tarefas do sistema via API, dentre elas, consultar o número de contratos com determinado status de acesso.

1 - Antes de qualquer coisa, precisa-se realizar a configuração da API no equipamento do provedor, para saber como realizar esta configuração, basta acessar o link Configurando acesso ao Webservice API Apache ou Configurando acesso ao Webservice API Nginx após esta configuração, realize os passos abaixo para listar os contratos com determinado status de acesso.

2 - Após realizar a configuração da API no equipamento do cliente, basta criar o seguinte código, nesta requisição vamos solicitar os contratos com status (FA) financeiro em atraso, mas podemos usar o mesmo código para consultar os demais status de acesso:

  • (CA) Bloqueio Automático
  • (CM) Bloqueio Manual
  • (A) Ativo
  • (AA) Aguardando Assinatura
  • (D) Desativado
  • (DE) Data Expirou
 1 <?php
 2 // requerindo arquivo do webservice
 3 require(__DIR__ . DIRECTORY_SEPARATOR . 'WebserviceClient.php');
 4 
 5 // url do sistema
 6 $host = 'https://IP/webservice/v1';
 7 
 8 // token do usuário criado nas configurações da API
 9 $token = 'TOKEN';
10 
11 // se será usado certificado SSL ou não
12 $selfSigned = true;
13 
14 // instanciando api requerida na primeira linha do código
15 $api = new IXCsoft\WebserviceClient($host, $token, $selfSigned);
16 
17 //array de parâmetros do método
18 $params = array(
19    'qtype' => 'cliente_contrato.id',//campo de filtro
20    'query' => '',//valor para consultar
21    'oper' => '!=',//operador da consulta
22    'page' => '1',//página a ser mostrada
23    'rp' => '20',//quantidade de registros por página
24    'sortname' => 'cliente_contrato.id',//campo para ordenar a consulta
25    'sortorder' => 'asc',//ordenação (asc= crescente | desc=decrescente)
26    'grid_param' => json_encode(array(array('TB' => 'cliente_contrato.status_internet',
27    'OP'=>'=','P'=>'FA',)))
28    // Filtro da grid - API
29 );
30 
31 //execução do método GET API
32 $api->get('cliente_contrato', $params);
33 $retorno = $api->getRespostaConteudo(false);// false para retorno em json e true para retorno em array php
34 
35 //printando resultado
36 var_dump($retorno);
37 exit;
38 
39 ?>

2.1 - O retorno recebido pode ser tanto de sucesso como de erro no caso de alguma inconsistência nos dados passados. Nesse caso obtemos um retorno de sucesso:

Captura de Tela 2019-05-28 às 13.33.10.png

2.2 - No exemplo acima, temos o retorno sendo feito em JSON, para que o mesmo seja retornado em formato de array PHP, precisamos apenas mudar o parâmetro que está dentro de $api->getRespostaConteudo(), ao invés de deixarmos como FALSE, alteramos para TRUE e a API já se encarrega de retornar os dados em array PHP.

3.0 - Mesma requisição porém feita com a biblioteca curl em php.

curl -s -k -H "Authorization:Basic NTA6YTE3ZjVjYWRkZGIyOTNlMDEwMTQ3OGEzZmFkOGVlYjQyZTRmYWIwNDAzZWE0ZDBmYTY5ZjNhNDJhMjg2YWViMw==" -H "Content-Type: application/json" -X POST -H "ixcsoft:listar" -d '{"qtype":"cliente_contrato.id", "query" : "", "oper" : "!=","rp":"20","sortname" : "cliente_contrato.id", "sortorder" : "asc","grid_param":"[{\"TB\":\"cliente_contrato.status_internet\",\"OP\":\"=\",\"P\":\"FA\"}]"}' https://10.65.1.171/webservice/v1/cliente_contrato

3.1 - Foram utilizados os mesmo parâmetros para a pesquisa feita em curl, porém em curl temos que converter o token para base64, neste exemplo compilamos a requisição no terminal.

Captura de Tela 2019-05-28 às 14.24.52.png

-

Voltar ao menu Recursos da API.