Numbersの更新

このページでは、1つの番号のコンフィギュレーション設定をプログラムで更新する方法を紹介します。

を使用して、これらの設定をオンラインで更新することもできます。 開発者ダッシュボード.音声 "または "メッセージと派遣 "メニューから "あなたのアプリケーション "オプションを選択します。または Vonage CLI.

サンプルコードの以下の変数を、独自の値に置き換えてください:

キー説明
VONAGE_API_KEY

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

VONAGE_API_SECRET

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

COUNTRY_CODE

The two digit country code for the number. For example: GB for the United Kingdom

VONAGE_NUMBER

Your Vonage Number. E.g. 447700900000

SMS_CALLBACK_URL

An URL-encoded URI to the webhook endpoint that handles inbound messages. Your webhook endpoint must be active before you make this request. Vonage makes a GET request to the endpoint and checks that it returns a 200 OK response. Set this parameter's value to an empty string to remove the webhook.

VONAGE_APPLICATION_ID

The ID of the application that handles inbound traffic to this number.

VOICE_CALLBACK_TYPE

The Voice API webhook type: sip, tel or app

VOICE_CALLBACK_VALUE

A SIP URI, telephone number or Application ID, depending on VOICE_CALLBACK_TYPE

VOICE_STATUS_URL

A webhook URL for Vonage to POST Voice API status updates to

コードを書く

update-number.sh に以下を追加する:

curl -X POST \
  -u "${VONAGE_API_KEY}:${VONAGE_API_SECRET}" \
  "https://rest.nexmo.com/number/update" \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "country=$COUNTRY_CODE&msisdn=$VONAGE_NUMBER&moHttpUrl=$SMS_CALLBACK_URL" \
  -d "app_id=$VONAGE_APPLICATION_ID" \

全文を見る

コードを実行する

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

sh update-number.sh

前提条件

npm install @vonage/server-sdk

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

const { Vonage } = require('@vonage/server-sdk');

const vonage = new Vonage({
  apiKey: VONAGE_API_KEY,
  apiSecret: VONAGE_API_SECRET,
});

全文を見る

コードを書く

update-number.js に以下を追加する:

vonage.numbers.updateNumber({
  country: COUNTRY_CODE,
  msisdn: VONAGE_NUMBER,
  messagesCallbackType: 'app',
  messagesCallbackValue: VONAGE_APPLICATION_ID,
  voiceCallbackType: VOICE_CALLBACK_TYPE,
  voiceCallbackValue: VOICE_CALLBACK_VALUE,
  voiceStatusCallback: VOICE_STATUS_URL,
  moHttpUrl: SMS_CALLBACK_URL,
})
  .then((result) => console.log(result))
  .catch((error) => console.error(error));

全文を見る

コードを実行する

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

node update-number.js

前提条件

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

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

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

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

全文を見る

コードを書く

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

client.numbers.number(NUMBER_COUNTRY_CODE, NUMBER_MSISDN).update {
    moHttpUrl(NUMBER_SMS_CALLBACK_URL)
    voiceCallback(NUMBER_VOICE_CALLBACK_TYPE, NUMBER_VOICE_CALLBACK_URL)
    voiceStatusCallback(NUMBER_VOICE_STATUS_CALLBACK_URL)
}

全文を見る

コードを実行する

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

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

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

gradle run -Pmain=com.vonage.quickstart.kt.numbers.UpdateNumber

前提条件

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

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

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

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

全文を見る

コードを書く

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

client.getNumbersClient().updateNumber(
        UpdateNumberRequest.builder(NUMBER_MSISDN, NUMBER_COUNTRY_CODE)
            .moHttpUrl(NUMBER_SMS_CALLBACK_URL)
            .voiceCallback(NUMBER_VOICE_CALLBACK_TYPE, NUMBER_VOICE_CALLBACK_URL)
            .voiceStatusCallback(NUMBER_VOICE_STATUS_CALLBACK_URL)
            .build()
);

全文を見る

コードを実行する

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

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

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

gradle run -Pmain=com.vonage.quickstart.numbers.UpdateNumber

前提条件

Install-Package Vonage

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

using Vonage;
using Vonage.Request;
using Vonage.Numbers;

全文を見る

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


var credentials = Credentials.FromApiKeyAndSecret(vonageApiKey, vonageApiSecret);

全文を見る

コードを書く

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


var request = new UpdateNumberRequest()
{
    Country = countryCode,
    Msisdn = vonageNumber,
    MoHttpUrl = smsCallbackUrl,
    AppId = vonageApplicationId,
    VoiceCallbackType = voiceCallbackType,
    VoiceCallbackValue = voiceCallbackValue,
    VoiceStatusCallback = voiceStatusUrl
};

全文を見る

前提条件

composer require vonage/client

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

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

全文を見る

コードを書く

update.php に以下を追加する:

try {
    $number = $client->numbers()->get(VONAGE_NUMBER);
    $number->setAppId(VONAGE_APPLICATION_ID);
    $client->numbers()->update($number);
    echo "Number updated" . PHP_EOL;
    
} catch (Exception $e) {
    echo "Error updating number" . PHP_EOL;
}

全文を見る

コードを実行する

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

php update.php

前提条件

pip install vonage python-dotenv

コードを書く

update.py に以下を追加する:

from vonage import Auth, Vonage
from vonage_numbers import NumbersStatus, UpdateNumberParams

client = Vonage(Auth(api_key=VONAGE_API_KEY, api_secret=VONAGE_API_SECRET))

status: NumbersStatus = client.numbers.update_number(
    UpdateNumberParams(
        country=NUMBER_COUNTRY_CODE,
        msisdn=NUMBER_MSISDN,
        app_id='vonage-application-id',
        mo_http_url=NUMBER_SMS_CALLBACK_URL,
        mo_smpp_sytem_type='inbound',
        voice_callback_value=NUMBER_VOICE_CALLBACK_URL,
        voice_status_callback=NUMBER_VOICE_STATUS_CALLBACK_URL,
    )
)

print(status.model_dump())

全文を見る

コードを実行する

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

python numbers/update.py

前提条件

gem install vonage

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

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

全文を見る

コードを書く

update.rb に以下を追加する:

response = client.numbers.update(
  country: COUNTRY_CODE,
  msisdn: VONAGE_NUMBER,
  app_id: VONAGE_APPLICATION_ID,
  voiceCallbackType: VOICE_CALLBACK_TYPE,
  voiceCallbackValue: VOICE_CALLBACK_VALUE,
  voiceStatusCallback: VOICE_STATUS_URL,
  moHttpUrl: SMS_CALLBACK_URL
)

全文を見る

コードを実行する

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

ruby update.rb

参照