Para facilitar a gestão de créditos aos clientes ATI, Sistema que realiza a consulta de operadora, disponibilizamos um novo modo de realizar as consultas via Web Service, informando juntamente com o RN1 da operadora, o saldo atual de créditos da conta que está realizando a consulta e o seu vencimento. Neste post também veremos exemplos de como realizar a consulta em Python, PHP e Java.
Para realizar a consulta retornando as informações adicionais, foi criado um novo Web Service a parte, que opera inclusive em outra porta, 9091.
Para realizar consultas neste novo Web Service, deve-se utilizar a URL: http://lnpcluster.sippulse.com:9091/?num=NUMERO , onde NUMERO deve ser o numero a ser consultado, no padrão DDD+N8(9). Desta forma, o sistema retornará somente o RN1 da operadora referente ao numero.
Para que a consulta também informe o crédito da conta e sua validade, a consulta deve ser feita neste padrão: http://port.sippulse.com:9091/?num=NUMERO
Note que foi incluído o parâmetro ret na URL da consulta. Com este parâmetro o sistema identifica que o usuário quer saber as informações referente aos créditos.
A seguir um exemplo de como fazer a consulta de operadora utilizando o ATI Web Services com algumas das linguagens mais utilizadas atualmente.
Consulta de operadora em Python:
#!/usr/bin/python
import urllib, httplib2
numero=” # Numero para realizar a consulta de operadora
ati_user=” # Usuario ATI
ati_pass=” # Senha
ati_url = ‘http://port.sippulse.com:9091/?num=’+numero
h = httplib2.Http(“.cache”)
h.add_credentials(ati_user, ati_pass)
resp = h.request(ati_url, “GET”)[1]
print resp
* Necessário instalar o pacote python-httplib2
Consulta de operadora em PHP:
<?php
$http_user=”; // Usuario ATI
$http_password=”; // Senha
$numero=”; // Numero para realizar a consulta de operadora
$url=’http://port.sippulse.com:9091/?num=’.$numero;
$crl = curl_init();
$timeout = 5;
curl_setopt ($crl, CURLOPT_URL,$url);
curl_setopt ($crl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($crl, CURLOPT_CONNECTTIMEOUT, $timeout);
curl_setopt($crl, CURLOPT_USERPWD, “{$http_user}:{$http_password}”);
$ret = curl_exec($crl);
curl_close($crl);
print $ret;
?>
* Necessário instalar o pacote php5-curl
Consulta de operadora em Java:
package br.com.voffice.sippulse;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import com.sun.xml.internal.messaging.saaj.util.Base64;
public class ConsumerWSATI {
public static void main(String[] args) {
try {
String name = “”; // Usuario ATI
String password = “”; // Senha
Long numero = ; // Numero para realizar a consulta de operadora
String authString = name + “:” + password;
byte[] authEncBytes = Base64.encode(authString.getBytes());
String authStringEnc = new String(authEncBytes);
URL url = new URL(“http://port.sippulse.com:9091/?num=” + numero);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod(“GET”);
conn.setRequestProperty(“Authorization”, “Basic ” + authStringEnc);
if (conn.getResponseCode() != 200) {
throw new RuntimeException(“Falha : HTTP error code : ”
+ conn.getResponseCode());
}
BufferedReader br = new BufferedReader(new InputStreamReader(
(conn.getInputStream())));
String output;
while ((output = br.readLine()) != null) {
System.out.println(output);
}
conn.disconnect();
} catch (IOException e) {
e.printStackTrace();
}
}
}
Principais códigos de retorno
TIM: 55341
CLARO: 55321
VIVO: 55320, 55315 e 55323
OI: 55314, 55331 e 55335
NEXTEL: 55377 e 55351
Crie sua conta demo ATI e ganhe 500 consultas gratuítas para testes e homologação do serviço.
Alguma dúvida ou sugestão? Deixe seu comentário.