Numbersインサイトアドバンス

2027年2月4日をもって、VonageはVonage Number Insightsを終了いたします。継続的なサポートを確保し、よりスケーラブルで将来性のあるソリューションを提供するため、当社の強化されたソリューションへの移行をお勧めします: Vonage Identity Insights API.Vonage Identity Insight APIは、複数の電話番号関連データセットを1つの柔軟なAPIに統合し、電話番号に関するリアルタイムの情報を要求したり、番号のフォーマット、キャリアの詳細、SIMスワップ、加入者照合などのインサイトを1回の呼び出しで自由に組み合わせて取得できるようにします。

をご確認ください。 Numbersインサイト移行ガイドAPIの相違点、必要な変更点、スムーズな移行のためのベストプラクティスに関する詳細なガイダンスを提供しています。

Number Insight Advanced APIは、以下のすべてのデータを提供します。 Numbers Insight 標準 API 以下の追加情報とともに:

  • Numbersが有効である可能性が高い場合
  • ポート番号の場合
  • 番号に到達可能な場合(米国では利用不可)
  • 番号がローミングかどうか、ローミングの場合はキャリアと国名

この情報を使って、Numbersに関連するリスクを判断する。

なお、Advanced APIでは、固定電話に関する以下のような追加情報は提供されません。 Numbers Insight 標準 API.固定電話番号に関する洞察については、Standard APIをご利用ください。

このコード・スニペットは 非同期 をNumber Insight APIに呼び出す。 これがVonageの推奨するアプローチです。.オプションで、Number Insight Advanced APIを使用できます。 同期的にただし、同期的な使用はタイムアウトを引き起こす可能性があるので注意すること。

コード例を実行する前に、変数のプレースホルダーを置き換えてください:

キー説明
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.

コードを書く

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"

全文を見る

コードを実行する

このファイルをあなたのマシンに保存し、実行する:

sh ni-advanced-async.sh

前提条件

npm install express body-parser

コードを書く

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

全文を見る

コードを実行する

このファイルをあなたのマシンに保存し、実行する:

node ni-advanced-async-client.js

前提条件

build.gradle に以下を追加する:

implementation 'com.vonage:server-sdk-kotlin:2.1.1'

AdvancedInsightAsync という名前のファイルを作成し、main メソッドに以下のコードを追加する:

val client = Vonage {
    apiKey(VONAGE_API_KEY)
    apiSecret(VONAGE_API_SECRET)
}

全文を見る

コードを書く

AdvancedInsightAsync ファイルのmain メソッドに以下を追加する:

client.numberInsight.advancedAsync(INSIGHT_NUMBER, INSIGHT_CALLBACK_URL)

全文を見る

コードを実行する

Gradle用のアプリケーション プラグインを使うことで、アプリケーションの実行を簡単にすることができます。build.gradle を以下のように更新する:

apply plugin: 'application'
mainClassName = project.hasProperty('main') ? project.getProperty('main') : ''

以下のgradle コマンドを実行し、com.vonage.quickstart.kt.numberinsightAdvancedInsightAsync を含むパッケージに置き換えてアプリケーションを実行する:

gradle run -Pmain=com.vonage.quickstart.kt.numberinsight.AdvancedInsightAsync

前提条件

build.gradle に以下を追加する:

implementation 'com.vonage:server-sdk:9.3.1'

AdvancedInsightAsync という名前のファイルを作成し、main メソッドに以下のコードを追加する:

VonageClient client = VonageClient.builder()
        .apiKey(VONAGE_API_KEY)
        .apiSecret(VONAGE_API_SECRET)
        .build();

全文を見る

コードを書く

AdvancedInsightAsync ファイルのmain メソッドに以下を追加する:

var response = client.getInsightClient().getAdvancedAsyncNumberInsight(
        AdvancedInsightAsyncRequest.builder()
            .number(INSIGHT_NUMBER)
            .callback(INSIGHT_CALLBACK_URL)
            .build()
);

全文を見る

コードを実行する

Gradle用のアプリケーション プラグインを使うことで、アプリケーションの実行を簡単にすることができます。build.gradle を以下のように更新する:

apply plugin: 'application'
mainClassName = project.hasProperty('main') ? project.getProperty('main') : ''

以下のgradle コマンドを実行し、com.vonage.quickstart.insightAdvancedInsightAsync を含むパッケージに置き換えてアプリケーションを実行する:

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

前提条件

Install-Package Vonage

AdvancedAsync.cs という名前のファイルを作成し、以下のコードを追加する:

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

全文を見る

AdvancedAsync.cs に以下を追加する:


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

全文を見る

コードを書く

AdvancedAsync.cs に以下を追加する:


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

全文を見る

前提条件

composer require vonage/client

advanced-async-trigger.php という名前のファイルを作成し、以下のコードを追加する:

$basic  = new \Vonage\Client\Credentials\Basic(VONAGE_API_KEY, VONAGE_API_SECRET);
$client = new \Vonage\Client($basic);

全文を見る

コードを書く

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

全文を見る

コードを実行する

このファイルをあなたのマシンに保存し、実行する:

php advanced-async-trigger.php

前提条件

pip install vonage python-dotenv

コードを書く

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)

全文を見る

コードを実行する

このファイルをあなたのマシンに保存し、実行する:

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

前提条件

gem install vonage

ni-advanced-async-client.rb という名前のファイルを作成し、以下のコードを追加する:

client = Vonage::Client.new(
  api_key: VONAGE_API_KEY,
  api_secret: VONAGE_API_SECRET
)

全文を見る

コードを書く

ni-advanced-async-client.rb に以下を追加する:

insight = client.number_insight.advanced(
  number: INSIGHT_NUMBER,
  callback: INSIGHT_CALLBACK_URL
)

puts insight.inspect

全文を見る

コードを実行する

このファイルをあなたのマシンに保存し、実行する:

ruby ni-advanced-async-client.rb

APIは以下の情報をクライアントに返すことで、リクエストを承認する:

{
    "request_id": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
    "number": "447700900000",
    "remaining_balance": "10.000000",
    "request_price": "0.03000000",
    "status": 0
}

データが利用可能になると、指定したウェブフックに POST リクエストをご覧ください。を参照のこと。 Numbers Insight アドバンスド非同期コールバック のコード・スニペットで、Webhookハンドラのコーディング方法を学んでください。