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: |
VONAGE_NUMBER | Your Vonage Number. E.g. |
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: |
VOICE_CALLBACK_VALUE | A SIP URI, telephone number or Application ID, depending on |
VOICE_STATUS_URL | A webhook URL for Vonage to POST Voice API status updates to |
Write the code
Add the following to update-number.sh:
curl -X POST \
"https://rest.nexmo.com/number/update?api_key=$VONAGE_API_KEY&api_secret=$VONAGE_API_SECRET" \
-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" \
-d "&voiceCallbackType=$VOICE_CALLBACK_TYPE&voiceCallbackValue=$VOICE_CALLBACK_VALUE&voiceStatusCallback=$VOICE_STATUS_URL"Run your code
Save this file to your machine and run it:
Prerequisites
npm install @vonage/server-sdkCreate a file named update-number.js and add the following code:
const { Vonage } = require('@vonage/server-sdk');
const vonage = new Vonage({
apiKey: VONAGE_API_KEY,
apiSecret: VONAGE_API_SECRET,
});Write the code
Add the following to 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));Run your code
Save this file to your machine and run it:
Prerequisites
Add the following to build.gradle:
implementation 'com.vonage:server-sdk-kotlin:2.1.1'Create a class named UpdateNumber and add the following code to the main method:
val client = Vonage {
apiKey(VONAGE_API_KEY)
apiSecret(VONAGE_API_SECRET)
}Write the code
Add the following to the main method of the UpdateNumber class:
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)
}Run your code
We can use the アプリケーション plugin for Gradle to simplify the running of our application. Update your build.gradle with the following:
apply plugin: 'application'
mainClassName = project.hasProperty('main') ? project.getProperty('main') : ''Run the following gradle command to execute your application, replacing com.vonage.quickstart.kt.numbers with the package containing UpdateNumber:
Prerequisites
Add the following to build.gradle:
implementation 'com.vonage:server-sdk:9.3.1'Create a class named UpdateNumber and add the following code to the main method:
VonageClient client = VonageClient.builder()
.apiKey(VONAGE_API_KEY)
.apiSecret(VONAGE_API_SECRET)
.build();Write the code
Add the following to the main method of the UpdateNumber class:
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()
);Run your code
We can use the アプリケーション plugin for Gradle to simplify the running of our application. Update your build.gradle with the following:
apply plugin: 'application'
mainClassName = project.hasProperty('main') ? project.getProperty('main') : ''Run the following gradle command to execute your application, replacing com.vonage.quickstart.numbers with the package containing UpdateNumber:
Prerequisites
Install-Package VonageCreate a file named UpdateNumber.cs and add the following code:
using Vonage;
using Vonage.Request;
using Vonage.Numbers;Add the following to UpdateNumber.cs:
var credentials = Credentials.FromApiKeyAndSecret(vonageApiKey, vonageApiSecret);Write the code
Add the following to UpdateNumber.cs:
var request = new UpdateNumberRequest()
{
Country = countryCode,
Msisdn = vonageNumber,
MoHttpUrl = smsCallbackUrl,
AppId = vonageApplicationId,
VoiceCallbackType = voiceCallbackType,
VoiceCallbackValue = voiceCallbackValue,
VoiceStatusCallback = voiceStatusUrl
};
Prerequisites
composer require vonage/clientCreate a file named update.php and add the following code:
Run your code
Save this file to your machine and run it:
Prerequisites
pip install vonage python-dotenvWrite the code
Add the following to 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())Run your code
Save this file to your machine and run it:
Prerequisites
gem install vonageCreate a file named update.rb and add the following code:
Run your code
Save this file to your machine and run it: