Atualizar o aplicativo
Neste trecho de código, você verá como atualizar uma Application.
Exemplo
Você precisará garantir que os seguintes valores substituíveis sejam definidos no código de exemplo, utilizando qualquer método que lhe seja conveniente:
| Chave | Descrição |
|---|---|
VONAGE_API_KEY | Your Vonage API key (see it on |
VONAGE_API_SECRET | Your Vonage API secret (also available on |
VONAGE_APPLICATION_ID | The Vonage Application ID. |
NAME | The new name for the Vonage application you want to update. |
Escreva o código
Adicione o seguinte ao arquivo ` update-application.sh`:
curl -X "PUT" "https://api.nexmo.com/v2/applications/$VONAGE_APPLICATION_ID" \
-H 'Content-Type: application/json' \
-u "$VONAGE_API_KEY:$VONAGE_API_SECRET" \
-d $'{
"name": "New App Name",
"capabilities": {
"messages": {
"webhooks": {
"inbound_url": {
"address": "https://example.com/webhooks/inbound",
"http_method": "POST"
},
"status_url": {
"address": "https://example.com/webhooks/status",
"http_method": "POST"
}
}
},
"voice": {
"webhooks": {
"answer_url": {
"address": "https://example.com/webhooks/answer",
"http_method": "POST"
},
"event_url": {
"address": "https://example.com/webhooks/event",
"http_method": "POST"
}
}
},
"rtc": {
"webhooks": {
"event_url": {
"address": "https://example.com/webhooks/event",
"http_method": "POST"
}
}
},
"vbc": {},
"verify": {
"webhooks": {
"status_url": {Execute seu código
Salve este arquivo no seu computador e execute-o:
Pré-requisitos
npm install @vonage/server-sdkCrie um arquivo chamado ` update-application.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,
});Escreva o código
Adicione o seguinte ao arquivo ` update-application.js`:
vonage.applications.updateApplication({
id: VONAGE_APPLICATION_ID,
name: 'New App Name',
capabilities: {
messages: {
webhooks: {
inboundUrl: {
address: 'https://example.com/webhooks/inbound',
httpMethod: 'POST',
},
statusUrl: {
address: 'https://example.com/webhooks/status',
httpMethod: 'POST',
},
},
},
voice: {
webhooks: {
answerUrl: {
address: 'https://example.com/webhooks/answer',
httpMethod: 'POST',
},
eventUrl: {
address: 'https://example.com/webhooks/event',
httpMethod: 'POST',
},
},
},
rtc: {
webhooks: {
eventUrl: {
address: 'https://example.com/webhooks/event',
httpMethod: 'POST',
},
},
},
vbc: {},
verify: {
webhooks: {
statusUrl: {
address: 'https://example.com/webhooks/status',
httpMethod: 'POST',
},
},
},
},
})
.then((resp) => console.log(resp))
.catch((error) => console.error(error));Execute seu código
Salve este arquivo no seu computador e execute-o:
Pré-requisitos
Adicione o seguinte ao arquivo ` build.gradle`:
implementation 'com.vonage:server-sdk-kotlin:2.1.1'Crie um arquivo chamado ` UpdateApplication ` e adicione o código a seguir ao método ` main `:
val client = Vonage {
apiKey(VONAGE_API_KEY)
apiSecret(VONAGE_API_SECRET)
}Escreva o código
Adicione o seguinte ao método ` main ` do arquivo ` UpdateApplication `:
val application = client.application.application(VONAGE_APPLICATION_ID).update {
name(APPLICATION_NAME)
messages {
inbound {
address("https://example.com/webhooks/inbound")
method(HttpMethod.POST)
}
status {
address("https://example.com/webhooks/status")
method(HttpMethod.POST)
}
}
voice {
answer {
address("https://example.com/webhooks/answer")
method(HttpMethod.GET)
}
event {
address("https://example.com/webhooks/event")
method(HttpMethod.POST)
}
rtc {
event {
address("https://example.com/webhooks/event")
method(HttpMethod.POST)
}
}
vbc()
}
}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.application ` pelo pacote que contém ` UpdateApplication`:
Pré-requisitos
Adicione o seguinte ao arquivo ` build.gradle`:
implementation 'com.vonage:server-sdk:9.3.1'Crie um arquivo chamado ` UpdateApplication ` e adicione o código a seguir ao método ` main `:
VonageClient client = VonageClient.builder()
.apiKey(VONAGE_API_KEY)
.apiSecret(VONAGE_API_SECRET)
.build();Escreva o código
Adicione o seguinte ao método ` main ` do arquivo ` UpdateApplication `:
ApplicationClient applicationClient = client.getApplicationClient();
Application existingApplication = applicationClient.getApplication(VONAGE_APPLICATION_ID);
Capability messages = Messages.builder()
.inbound(Webhook.builder()
.address("https://example.com/webhooks/inbound")
.method(HttpMethod.POST)
.build()
)
.status(Webhook.builder()
.address("https://example.com/webhooks/status")
.method(HttpMethod.POST)
.build()
)
.build();
Capability voice = Voice.builder()
.answer(Webhook.builder()
.address("https://example.com/webhooks/answer")
.method(HttpMethod.POST)
.build()
)
.event(Webhook.builder()
.address("https://example.com/webhooks/event")
.method(HttpMethod.POST)
.build()
)
.build();
Capability rtc = Rtc.builder()
.event(Webhook.builder()
.address("https://example.com/webhooks/event")
.method(HttpMethod.POST)
.build()
)
.build();
Capability vbc = Vbc.builder().build();
Application application = applicationClient.updateApplication(
Application.builder(existingApplication)
.name(APPLICATION_NAME)
.addCapability(messages)
.addCapability(voice)
.addCapability(rtc)
.addCapability(vbc)
.build()
);
System.out.println("Application Updated:");
System.out.println("Old: " + existingApplication.toJson());
System.out.println("New: " + application.toJson());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.application ` pelo pacote que contém ` UpdateApplication`:
Pré-requisitos
Install-Package VonageCrie um arquivo chamado ` UpdateApplication.cs ` e insira o seguinte código:
using Vonage;
using Vonage.Applications;
using Vonage.Applications.Capabilities;
using Vonage.Request;Adicione o seguinte ao arquivo ` UpdateApplication.cs`:
var credentials = Credentials.FromApiKeyAndSecret(VONAGE_API_KEY, VONAGE_API_SECRET);
var client = new VonageClient(credentials);Escreva o código
Adicione o seguinte ao arquivo ` UpdateApplication.cs`:
var request = new CreateApplicationRequest
{
Name = "New App Name",
Capabilities = new ApplicationCapabilities
{
Messages = Vonage.Applications.Capabilities.Messages.Build()
.WithInboundUrl("https://example.com/webhooks/inbound")
.WithStatusUrl("https://example.com/webhooks/status"),
Rtc = Rtc.Build().WithEventUrl("https://example.com/webhooks/events", WebhookHttpMethod.Post),
Voice = Vonage.Applications.Capabilities.Voice.Build()
.WithAnswerUrl("https://example.com/webhooks/answer", WebhookHttpMethod.Get)
.WithEventUrl("https://example.com/webhooks/events", WebhookHttpMethod.Post),
Vbc = Vbc.Build()
}
};
var response = await client.ApplicationClient.UpdateApplicationAsync(VONAGE_APPLICATION_ID, request);Pré-requisitos
composer require vonage/clientCrie um arquivo chamado ` update-application.php ` e insira o seguinte código:
$basic = new \Vonage\Client\Credentials\Basic(VONAGE_API_KEY, VONAGE_API_SECRET);
$client = new \Vonage\Client(new \Vonage\Client\Credentials\Container($basic));Escreva o código
Adicione o seguinte ao arquivo ` update-application.php`:
try {
$application = $client->applications()->get(VONAGE_APPLICATION_ID);
$application->setName('New Name2');
$application->getVoiceConfig()->setWebhook(
Nexmo\Application\VoiceConfig::ANSWER,
new Nexmo\Application\Webhook('http://test.domain/webhook/voice')
);
$application = $client->applications()->update($application);
echo $application->getId() . PHP_EOL;
echo $application->getName() . PHP_EOL;
} catch (\InvalidArgumentException $e) {
echo $e->getMessage() . PHP_EOL;
}Execute seu código
Salve este arquivo no seu computador e execute-o:
Pré-requisitos
pip install vonage python-dotenvEscreva o código
Adicione o seguinte ao arquivo ` update-application.py`:
from vonage import Auth, Vonage
from vonage_application import (ApplicationConfig, ApplicationData,
ApplicationUrl, Messages, MessagesWebhooks)
client = Vonage(Auth(api_key=VONAGE_API_KEY, api_secret=VONAGE_API_SECRET))
config = ApplicationConfig(
name='My Renamed Application',
capabilities=Messages(
webhooks=MessagesWebhooks(
inbound_url=ApplicationUrl(
address='https://example.com/inbound_new_url', http_method='GET'
),
status_url=ApplicationUrl(
address='https://example.com/status_new_url', http_method='GET'
),
),
authenticate_inbound_media=False,
),
)
response: ApplicationData = client.application.update_application(
id=VONAGE_APPLICATION_ID, config=config
)
print(response)Execute seu código
Salve este arquivo no seu computador e execute-o:
Pré-requisitos
gem install vonageCrie um arquivo chamado ` update-application.rb ` e insira o seguinte código:
client = Vonage::Client.new(
api_key: VONAGE_API_KEY,
api_secret: VONAGE_API_SECRET
)Escreva o código
Adicione o seguinte ao arquivo ` update-application.rb`:
response = client.applications.update(
VONAGE_APPLICATION_ID,
id: VONAGE_APPLICATION_ID,
name: 'Ruby Update App',
capabilities: {
'messages': {
'webhooks': {
'inbound_url': {
'address': 'https://example.com/webhooks/inbound',
'http_method': 'POST'
},
'status_url': {
'address': 'https://example.com/webhooks/status',
'http_method': 'POST'
}
}
},
'voice': {
'webhooks': {
'answer_url': {
'address': 'https://example.com/webhooks/answer',
'http_method': 'POST'
},
'event_url': {
'address': 'https://example.com/webhooks/event',
'http_method': 'POST'
}
}
}
}
)Execute seu código
Salve este arquivo no seu computador e execute-o: