Configure the settings for your account

You can programmatically configure the settings for your account, such as the callback URLs that the webhooks will use.

Example

This example shows how to set the URL that will be called when your Vonage number receives an SMS.

KeyDescription
VONAGE_API_KEY

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

VONAGE_API_SECRET

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

SMS_CALLBACK_URL

The publicly-accessible URL that Vonage should send information to when your Vonage number receives an SMS

Write the code

Add the following to configure-account.sh:

curl -X POST "https://rest.nexmo.com/account/settings" -u "$VONAGE_API_KEY:$VONAGE_API_SECRET" \
    -d "moCallBackUrl=$ACCOUNT_SMS_CALLBACK_URL"

View full source

Run your code

Save this file to your machine and run it:

bash configure-account.sh

Prerequisites

npm install @vonage/server-sdk

Create a file named configure-account.js and add the following code:

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

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

View full source

Write the code

Add the following to configure-account.js:

vonage.accounts.updateAccountCallbacks({
  moCallBackUrl: SMS_CALLBACK_URL,
})
  .then((resp) => console.log(resp))
  .catch((error) => console.error(error));

View full source

Run your code

Save this file to your machine and run it:

node configure-account.js

Prerequisites

Add the following to build.gradle:

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

Create a file named ConfigureAccount and add the following code to the main method:

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

View full source

Write the code

Add the following to the main method of the ConfigureAccount file:

val settings = client.account.updateSettings(incomingSmsUrl = ACCOUNT_SMS_CALLBACK_URL)
println("moCallBackUrl is now ${settings.incomingSmsUrl}")

View full source

Run your code

We can use the application 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.account with the package containing ConfigureAccount:

gradle run -Pmain=com.vonage.quickstart.kt.account.ConfigureAccount

Prerequisites

Add the following to build.gradle:

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

Create a file named ConfigureAccount and add the following code to the main method:

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

View full source

Write the code

Add the following to the main method of the ConfigureAccount file:

SettingsResponse response = client.getAccountClient().updateSmsIncomingUrl(ACCOUNT_SMS_CALLBACK_URL);
System.out.println("SMS Callback URL is now " + response.getIncomingSmsUrl());

View full source

Run your code

We can use the application 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.account with the package containing ConfigureAccount:

gradle run -Pmain=com.vonage.quickstart.account.ConfigureAccount

Prerequisites

Install-Package Vonage

Create a file named ChangeAccountSettings.cs and add the following code:

using Vonage;
using Vonage.Request;
using Vonage.Accounts;

View full source

Add the following to ChangeAccountSettings.cs:

var client = new VonageClient(credentials);

View full source

Write the code

Add the following to ChangeAccountSettings.cs:

var response = await client.AccountClient.ChangeAccountSettingsAsync(request);

View full source

Prerequisites

composer require vonage/client

Create a file named configure-account.php and add the following code:

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

View full source

Write the code

Add the following to configure-account.php:

$response = $client->account()->updateConfig([
    "sms_callback_url" => SMS_CALLBACK_URL
]);
print_r($response->toArray());

View full source

Run your code

Save this file to your machine and run it:

php configure-account.php

Prerequisites

pip install vonage python-dotenv

Write the code

Add the following to configure-account.py:

from vonage import Auth, Vonage
from vonage_account import SettingsResponse

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

settings: SettingsResponse = client.account.update_default_sms_webhook(
    mo_callback_url=ACCOUNT_SMS_CALLBACK_URL
)

print(settings)

View full source

Run your code

Save this file to your machine and run it:

python account/configure-account.py

Prerequisites

gem install vonage

Create a file named configure-account.rb and add the following code:

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

View full source

Write the code

Add the following to configure-account.rb:

response = client.account.update(
  moHttpUrl: SMS_CALLBACK_URL
)

View full source

Run your code

Save this file to your machine and run it:

ruby configure-account.rb

The example outputs the current settings of your account, after it was updated with the new URL.