Atualizar um número

Esta página mostra como atualizar programaticamente as configurações de um dos seus Numbers.

Você também pode atualizar essas configurações on-line, usando o painel do desenvolvedor. Selecione a opção “Seus Applications” no menu “Voz” ou “Mensagens e despacho”. Ou então, você pode usar o CLI da Vonage.

Substitua as seguintes variáveis no código de exemplo pelos seus próprios valores:

ChaveDescrição
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

Escreva o código

Adicione o seguinte ao arquivo ` 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 código-fonte completo

Execute seu código

Salve este arquivo no seu computador e execute-o:

sh update-number.sh

Pré-requisitos

npm install @vonage/server-sdk

Crie um arquivo chamado ` update-number.js ` e insira o seguinte código:

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

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

Ver código-fonte completo

Escreva o código

Adicione o seguinte ao arquivo ` 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 código-fonte completo

Execute seu código

Salve este arquivo no seu computador e execute-o:

node update-number.js

Pré-requisitos

Adicione o seguinte ao arquivo ` build.gradle`:

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

Crie um arquivo chamado ` UpdateNumber ` e adicione o código a seguir ao método ` main `:

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

Ver código-fonte completo

Escreva o código

Adicione o seguinte ao método ` main ` do arquivo ` 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 código-fonte completo

Execute seu código

Podemos usar o plugin “ aplicativo ” para o Gradle a fim de simplificar a execução do nosso aplicativo. Atualize seu arquivo ` build.gradle ` com o seguinte:

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

Execute o seguinte comando ` gradle ` para rodar seu aplicativo, substituindo ` com.vonage.quickstart.kt.numbers ` pelo pacote que contém ` UpdateNumber`:

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

Pré-requisitos

Adicione o seguinte ao arquivo ` build.gradle`:

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

Crie um arquivo chamado ` UpdateNumber ` e adicione o código a seguir ao método ` main `:

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

Ver código-fonte completo

Escreva o código

Adicione o seguinte ao método ` main ` do arquivo ` 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 código-fonte completo

Execute seu código

Podemos usar o plugin “ aplicativo ” para o Gradle a fim de simplificar a execução do nosso aplicativo. Atualize seu arquivo ` build.gradle ` com o seguinte:

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

Execute o seguinte comando ` gradle ` para rodar seu aplicativo, substituindo ` com.vonage.quickstart.numbers ` pelo pacote que contém ` UpdateNumber`:

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

Pré-requisitos

Install-Package Vonage

Crie um arquivo chamado ` UpdateNumber.cs ` e insira o seguinte código:

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

Ver código-fonte completo

Adicione o seguinte ao arquivo ` UpdateNumber.cs`:


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

Ver código-fonte completo

Escreva o código

Adicione o seguinte ao arquivo ` UpdateNumber.cs`:


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

Ver código-fonte completo

Pré-requisitos

composer require vonage/client

Crie um arquivo chamado ` update.php ` e insira o seguinte código:

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

Ver código-fonte completo

Escreva o código

Adicione o seguinte ao arquivo ` 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 código-fonte completo

Execute seu código

Salve este arquivo no seu computador e execute-o:

php update.php

Pré-requisitos

pip install vonage python-dotenv

Escreva o código

Adicione o seguinte ao arquivo ` 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 código-fonte completo

Execute seu código

Salve este arquivo no seu computador e execute-o:

python numbers/update.py

Pré-requisitos

gem install vonage

Crie um arquivo chamado ` update.rb ` e insira o seguinte código:

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

Ver código-fonte completo

Escreva o código

Adicione o seguinte ao arquivo ` 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 código-fonte completo

Execute seu código

Salve este arquivo no seu computador e execute-o:

ruby update.rb

Veja também