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:

ChaveDescrição
VONAGE_API_KEY

Your Vonage API key (see it on your dashboard).

VONAGE_API_SECRET

Your Vonage API secret (also available on your dashboard).

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"

Ver código-fonte completo

Execute seu código

Salve este arquivo no seu computador e execute-o:

sh ni-advanced-async.sh

Pré-requisitos

npm install express body-parser

Escreva 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);

Ver código-fonte completo

Execute seu código

Salve este arquivo no seu computador e execute-o:

node ni-advanced-async-client.js

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)
}

Ver código-fonte completo

Escreva o código

Adicione o seguinte ao método ` main ` do arquivo ` AdvancedInsightAsync `:

client.numberInsight.advancedAsync(INSIGHT_NUMBER, INSIGHT_CALLBACK_URL)

Ver código-fonte completo

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`:

gradle run -Pmain=com.vonage.quickstart.kt.numberinsight.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();

Ver código-fonte completo

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()
);

Ver código-fonte completo

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`:

gradle run -Pmain=com.vonage.quickstart.insight.AdvancedInsightAsync

Pré-requisitos

Install-Package Vonage

Crie um arquivo chamado ` AdvancedAsync.cs ` e insira o seguinte código:

using Vonage;
using Vonage.Request;
using Vonage.NumberInsights;

Ver código-fonte completo

Adicione o seguinte ao arquivo ` AdvancedAsync.cs`:


var creds = Credentials.FromApiKeyAndSecret(VONAGE_API_KEY, VONAGE_API_SECRET);

Ver código-fonte completo

Escreva o código

Adicione o seguinte ao arquivo ` AdvancedAsync.cs`:


var request = new AdvancedNumberInsightAsynchronousRequest() { Number = INSIGHT_NUMBER, Callback = INSIGHT_CALLBACK_URL };

Ver código-fonte completo

Pré-requisitos

composer require vonage/client

Crie 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);

Ver código-fonte completo

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);
}

Ver código-fonte completo

Execute seu código

Salve este arquivo no seu computador e execute-o:

php advanced-async-trigger.php

Pré-requisitos

pip install vonage python-dotenv

Escreva 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)

Ver código-fonte completo

Execute seu código

Salve este arquivo no seu computador e execute-o:

python number-insight/ni-advanced-async-trigger.py

Pré-requisitos

gem install vonage

Crie 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
)

Ver código-fonte completo

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.inspect

Ver código-fonte completo

Execute seu código

Salve este arquivo no seu computador e execute-o:

ruby ni-advanced-async-client.rb

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.