Number Insight Avançado
A partir de 4 de fevereiro de 2027, a Vonage encerrará o serviço Vonage Number Insights. Para garantir um suporte ininterrupto e oferecer uma solução mais escalável e preparada para o futuro, recomendamos que você migre para nossa oferta aprimorada: API do Vonage Identity Insights. A Number Insight API consolida vários conjuntos de dados relacionados a números de telefone em uma única API flexível, permitindo que você solicite informações em tempo real sobre um número de telefone e obtenha qualquer combinação de informações — como formatação do número, detalhes da operadora, troca de SIM e correspondência de assinante — em uma única chamada.
Por favor, verifique o Guia de Transição do Numbers Insights, que oferece orientações detalhadas sobre as diferenças nas APIs, as alterações necessárias e as melhores práticas para uma transição tranquila.
A Number Insight API Advanced fornece todos os dados do Number Insight API juntamente com as seguintes informações adicionais:
- Se for provável que o número seja válido
- Se o número for portado
- Se o número estiver acessível (não disponível nos EUA)
- Se o número estiver em roaming e, nesse caso, a operadora e o país
Use essas informações para determinar o risco associado a um número.
Observe que a API Avançada não fornece nenhuma informação adicional sobre números fixos além da Number Insight API. Para obter informações sobre números de telefone fixo, use a API Padrão.
Este trecho de código mostra como acionar um assíncrono chamada à Number Insight API. Essa é a abordagem recomendada pela Vonage. Opcionalmente, você pode usar a Number Insight Advanced API sincronicamente, mas esteja ciente de que o uso síncrono pode resultar em tempo limite esgotado.
Antes de tentar executar os exemplos de código, substitua os marcadores de variáveis:
| Chave | Descrição |
|---|---|
VONAGE_API_KEY | Your Vonage API key (see it on |
VONAGE_API_SECRET | Your Vonage API secret (also available on |
INSIGHT_NUMBER | The number you want to retrieve insight information for. |
Escreva o código
Adicione o seguinte ao arquivo ` ni-advanced-async.sh`:
curl \
-u "${VONAGE_API_KEY}:${VONAGE_API_SECRET}" \
"https://api.nexmo.com/ni/advanced/async/json?number=$INSIGHT_NUMBER&callback=$INSIGHT_CALLBACK_URL"
Execute seu código
Salve este arquivo no seu computador e execute-o:
Pré-requisitos
npm install express body-parserEscreva o código
Adicione o seguinte ao arquivo ` ni-advanced-async-client.js`:
const app = require('express')();
const bodyParser = require('body-parser');
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({
extended: true,
}));
const handleInsight = (request, response) => {
console.log('params', Object.assign(request.query, request.body));
response.status(204).send();
};
app.post('/webhooks/insight', handleInsight);
app.listen(3000);Execute seu código
Salve este arquivo no seu computador e execute-o:
Pré-requisitos
Adicione o seguinte ao arquivo ` build.gradle`:
implementation 'com.vonage:server-sdk-kotlin:2.1.1'Crie um arquivo chamado ` AdvancedInsightAsync ` e adicione o código a seguir ao método ` main `:
val client = Vonage {
apiKey(VONAGE_API_KEY)
apiSecret(VONAGE_API_SECRET)
}Escreva o código
Adicione o seguinte ao método ` main ` do arquivo ` AdvancedInsightAsync `:
client.numberInsight.advancedAsync(INSIGHT_NUMBER, INSIGHT_CALLBACK_URL)Execute seu código
Podemos usar o plugin “ aplicativo ” para o Gradle a fim de simplificar a execução do nosso aplicativo. Atualize seu arquivo ` build.gradle ` com o seguinte:
apply plugin: 'application'
mainClassName = project.hasProperty('main') ? project.getProperty('main') : ''Execute o seguinte comando ` gradle ` para rodar seu aplicativo, substituindo ` com.vonage.quickstart.kt.numberinsight ` pelo pacote que contém ` AdvancedInsightAsync`:
Pré-requisitos
Adicione o seguinte ao arquivo ` build.gradle`:
implementation 'com.vonage:server-sdk:9.3.1'Crie um arquivo chamado ` AdvancedInsightAsync ` e adicione o código a seguir ao método ` main `:
VonageClient client = VonageClient.builder()
.apiKey(VONAGE_API_KEY)
.apiSecret(VONAGE_API_SECRET)
.build();Escreva o código
Adicione o seguinte ao método ` main ` do arquivo ` AdvancedInsightAsync `:
var response = client.getInsightClient().getAdvancedAsyncNumberInsight(
AdvancedInsightAsyncRequest.builder()
.number(INSIGHT_NUMBER)
.callback(INSIGHT_CALLBACK_URL)
.build()
);Execute seu código
Podemos usar o plugin “ aplicativo ” para o Gradle a fim de simplificar a execução do nosso aplicativo. Atualize seu arquivo ` build.gradle ` com o seguinte:
apply plugin: 'application'
mainClassName = project.hasProperty('main') ? project.getProperty('main') : ''Execute o seguinte comando ` gradle ` para rodar seu aplicativo, substituindo ` com.vonage.quickstart.insight ` pelo pacote que contém ` AdvancedInsightAsync`:
Pré-requisitos
Install-Package VonageCrie um arquivo chamado ` AdvancedAsync.cs ` e insira o seguinte código:
using Vonage;
using Vonage.Request;
using Vonage.NumberInsights;Adicione o seguinte ao arquivo ` AdvancedAsync.cs`:
var creds = Credentials.FromApiKeyAndSecret(VONAGE_API_KEY, VONAGE_API_SECRET);Escreva o código
Adicione o seguinte ao arquivo ` AdvancedAsync.cs`:
var request = new AdvancedNumberInsightAsynchronousRequest() { Number = INSIGHT_NUMBER, Callback = INSIGHT_CALLBACK_URL };Pré-requisitos
composer require vonage/clientCrie um arquivo chamado ` advanced-async-trigger.php ` e insira o seguinte código:
$basic = new \Vonage\Client\Credentials\Basic(VONAGE_API_KEY, VONAGE_API_SECRET);
$client = new \Vonage\Client($basic);Escreva o código
Adicione o seguinte ao arquivo ` advanced-async-trigger.php`:
try {
$client->insights()->advancedAsync(SEARCH_NUMBER, CALLBACK_WEBHOOK);
echo "The number will be looked up soon.";
} catch (\Vonage\Client\Exception\Request $e) {
error_log("Client error: " . $e->getMessage());
exit(1);
} catch (\Vonage\Client\Exception\Server $e) {
error_log("Server error: " . $e->getMessage());
exit(1);
}Execute seu código
Salve este arquivo no seu computador e execute-o:
Pré-requisitos
pip install vonage python-dotenvEscreva o código
Adicione o seguinte ao arquivo ` ni-advanced-async-trigger.py`:
from vonage import Auth, Vonage
from vonage_number_insight import (AdvancedAsyncInsightRequest,
AdvancedAsyncInsightResponse)
client = Vonage(Auth(api_key=VONAGE_API_KEY, api_secret=VONAGE_API_SECRET))
insight: AdvancedAsyncInsightResponse = client.number_insight.get_advanced_info_async(
AdvancedAsyncInsightRequest(number=INSIGHT_NUMBER, callback=INSIGHT_CALLBACK_URL)
)
pprint(insight)Execute seu código
Salve este arquivo no seu computador e execute-o:
Pré-requisitos
gem install vonageCrie um arquivo chamado ` ni-advanced-async-client.rb ` e insira o seguinte código:
client = Vonage::Client.new(
api_key: VONAGE_API_KEY,
api_secret: VONAGE_API_SECRET
)Escreva o código
Adicione o seguinte ao arquivo ` ni-advanced-async-client.rb`:
insight = client.number_insight.advanced(
number: INSIGHT_NUMBER,
callback: INSIGHT_CALLBACK_URL
)
puts insight.inspectExecute seu código
Salve este arquivo no seu computador e execute-o:
A API confirma o recebimento da solicitação, retornando as seguintes informações ao cliente:
{
"request_id": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
"number": "447700900000",
"remaining_balance": "10.000000",
"request_price": "0.03000000",
"status": 0
}
Quando os dados ficam disponíveis, eles são enviados ao webhook especificado por meio de um POST solicitação. Consulte o Number Insight: Callback assíncrono avançado trecho de código para aprender a programar o manipulador de webhook.