Actualizar un Numbers

Esta página le muestra cómo actualizar mediante programación los ajustes de configuración de uno de sus números.

También puede actualizar estos ajustes en línea, utilizando la función panel de control para desarrolladores. Selecciona la opción «Tus aplicaciones» en el menú «Voz» o «Mensajes y despacho». O bien, puedes utilizar el CLI de Vonage.

Sustituye las siguientes variables del código de ejemplo por tus propios valores:

ClaveDescripción
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

Escriba el código

Añada lo siguiente a 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" \

Ver fuente completa

Ejecute su código

Guarde este archivo en su máquina y ejecútelo:

sh update-number.sh

Requisitos previos

npm install @vonage/server-sdk

Crea un archivo llamado update-number.js y añade el siguiente código:

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

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

Ver fuente completa

Escriba el código

Añada lo siguiente a 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));

Ver fuente completa

Ejecute su código

Guarde este archivo en su máquina y ejecútelo:

node update-number.js

Requisitos previos

Añada lo siguiente a build.gradle:

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

Crea un archivo llamado UpdateNumber y añade el siguiente código al método main:

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

Ver fuente completa

Escriba el código

Añada lo siguiente al método main del archivo 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)
}

Ver fuente completa

Ejecute su código

Podemos utilizar el plugin aplicación para Gradle para simplificar la ejecución de nuestra aplicación. Actualiza tu build.gradle con lo siguiente:

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

Ejecute el siguiente comando gradle para ejecutar su aplicación, sustituyendo com.vonage.quickstart.kt.numbers por el paquete que contiene UpdateNumber:

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

Requisitos previos

Añada lo siguiente a build.gradle:

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

Crea un archivo llamado UpdateNumber y añade el siguiente código al método main:

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

Ver fuente completa

Escriba el código

Añada lo siguiente al método main del archivo 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()
);

Ver fuente completa

Ejecute su código

Podemos utilizar el plugin aplicación para Gradle para simplificar la ejecución de nuestra aplicación. Actualiza tu build.gradle con lo siguiente:

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

Ejecute el siguiente comando gradle para ejecutar su aplicación, sustituyendo com.vonage.quickstart.numbers por el paquete que contiene UpdateNumber:

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

Requisitos previos

Install-Package Vonage

Crea un archivo llamado UpdateNumber.cs y añade el siguiente código:

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

Ver fuente completa

Añada lo siguiente a UpdateNumber.cs:


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

Ver fuente completa

Escriba el código

Añada lo siguiente a UpdateNumber.cs:


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

Ver fuente completa

Requisitos previos

composer require vonage/client

Crea un archivo llamado update.php y añade el siguiente código:

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

Ver fuente completa

Escriba el código

Añada lo siguiente a 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;
}

Ver fuente completa

Ejecute su código

Guarde este archivo en su máquina y ejecútelo:

php update.php

Requisitos previos

pip install vonage python-dotenv

Escriba el código

Añada lo siguiente a 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())

Ver fuente completa

Ejecute su código

Guarde este archivo en su máquina y ejecútelo:

python numbers/update.py

Requisitos previos

gem install vonage

Crea un archivo llamado update.rb y añade el siguiente código:

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

Ver fuente completa

Escriba el código

Añada lo siguiente a 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
)

Ver fuente completa

Ejecute su código

Guarde este archivo en su máquina y ejecútelo:

ruby update.rb

Véase también