Mise à jour d'un nombre

Cette page vous montre comment mettre à jour de manière programmatique les paramètres de configuration d'un de vos numéros.

Vous pouvez également mettre à jour ces paramètres en ligne, à l'aide de la fonction tableau de bord du développeur. Sélectionnez l'option "Vos Applications" dans le menu "Voix" ou "Messages et Dispatch". Vous pouvez également utiliser le bouton CLI Vonage.

Remplacez les variables suivantes dans l'exemple de code par vos propres valeurs :

CléDescription
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

Rédiger le code

Ajouter ce qui suit à 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" \

Voir la source complète

Exécutez votre code

Enregistrez ce fichier sur votre machine et exécutez-le :

sh update-number.sh

Conditions préalables

npm install @vonage/server-sdk

Créez un fichier nommé update-number.js et ajoutez le code suivant :

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

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

Voir la source complète

Rédiger le code

Ajouter ce qui suit à 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));

Voir la source complète

Exécutez votre code

Enregistrez ce fichier sur votre machine et exécutez-le :

node update-number.js

Conditions préalables

Ajouter ce qui suit à build.gradle:

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

Créez un fichier nommé UpdateNumber et ajoutez le code suivant à la méthode main:

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

Voir la source complète

Rédiger le code

Ajouter ce qui suit à la méthode main du fichier UpdateNumber:

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

Voir la source complète

Exécutez votre code

Nous pouvons utiliser le plugin application pour Gradle afin de simplifier l'exécution de notre application. Mettez à jour votre build.gradle avec ce qui suit :

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

Lancez la commande suivante gradle pour exécuter votre application, en remplaçant com.vonage.quickstart.kt.numbers par le paquet contenant UpdateNumber:

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

Conditions préalables

Ajouter ce qui suit à build.gradle:

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

Créez un fichier nommé UpdateNumber et ajoutez le code suivant à la méthode main:

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

Voir la source complète

Rédiger le code

Ajouter ce qui suit à la méthode main du fichier UpdateNumber:

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

Voir la source complète

Exécutez votre code

Nous pouvons utiliser le plugin application pour Gradle afin de simplifier l'exécution de notre application. Mettez à jour votre build.gradle avec ce qui suit :

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

Lancez la commande suivante gradle pour exécuter votre application, en remplaçant com.vonage.quickstart.numbers par le paquet contenant UpdateNumber:

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

Conditions préalables

Install-Package Vonage

Créez un fichier nommé UpdateNumber.cs et ajoutez le code suivant :

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

Voir la source complète

Ajouter ce qui suit à UpdateNumber.cs:


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

Voir la source complète

Rédiger le code

Ajouter ce qui suit à UpdateNumber.cs:


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

Voir la source complète

Conditions préalables

composer require vonage/client

Créez un fichier nommé update.php et ajoutez le code suivant :

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

Voir la source complète

Rédiger le code

Ajouter ce qui suit à 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;
}

Voir la source complète

Exécutez votre code

Enregistrez ce fichier sur votre machine et exécutez-le :

php update.php

Conditions préalables

pip install vonage python-dotenv

Rédiger le code

Ajouter ce qui suit à 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())

Voir la source complète

Exécutez votre code

Enregistrez ce fichier sur votre machine et exécutez-le :

python numbers/update.py

Conditions préalables

gem install vonage

Créez un fichier nommé update.rb et ajoutez le code suivant :

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

Voir la source complète

Rédiger le code

Ajouter ce qui suit à 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
)

Voir la source complète

Exécutez votre code

Enregistrez ce fichier sur votre machine et exécutez-le :

ruby update.rb

Voir aussi