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:
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.
-
Voltar ao menu Recursos da API.