Tecnologia líder no mercado de telecomunicações

Consulta de operadora em Python PHP e Java via novo WebService ATI


consulta de operadora via web service ATI

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.


Categorias: ATI - Automatic Telco Identification, Sem categoria

Tags: ,