Gerenciamento de Applications com a CLI da Vonage
O CLI da Vonage permite que você crie e gerencie suas Applications da Vonage. Para obter ajuda, digite vonage apps --help assim que
a CLI tiver sido instalada. Assim como a maioria dos comandos do Vonage, você pode usar o --json e --yaml opções para
que a saída seja nesses formatos.
Listando suas Applications
Por padrão, ao executar vonage apps isso executará o mesmo subcomando que vonage apps list. Há vários parâmetros
que você pode passar para refinar sua pesquisa:
vonage apps
✅ Loading applications... Done
App ID Name Capabilities
------------------------------------ ----------------- ------------------------------------------------------
00000000-0000-0000-0000-000000000000 Application None
00000000-0000-0000-0000-000000000000 voice Application Messages, Voice
00000000-0000-0000-0000-000000000000 All enabled Messages, Network APIs, RTC, VBC, Verify, Video, Voice
vonage apps
✅ Loading applications... Done
App ID Name Capabilities
------------------------------------ ----------------- ------------------------------------------------------
00000000-0000-0000-0000-000000000000 Application None
00000000-0000-0000-0000-000000000000 voice Application Messages, Voice
00000000-0000-0000-0000-000000000000 All enabled Messages, Network APIs, RTC, VBC, Verify, Video, Voice
Mostrar detalhes do aplicativo
O show O subcomando permite obter os detalhes de um aplicativo específico. O formato do comando é
vonage apps show <id>, onde <id> é o UUID do aplicativo.
Observação: Isso não exibirá a chave pública. Se você precisar visualizar a chave pública, pode usar o --show-all, --json, ou --yaml sinalizadores,
que não ocultarão nenhuma informação.
vonage apps show 00000000-0000-0000-0000-000000000000
✅ Fetching application
Name: All enabled
Application ID: 00000000-0000-0000-0000-000000000000
Improve AI: Off
Private/Public Key: Set
Capabilities:
VOICE:
Uses Signed callbacks: On
Conversation TTL: 41 hours
Leg Persistence Time: 6 days
Event URL: [GET] https://example.com/voice/event
Answer URL: [GET] https://example.com/voice/answer
Fallback URL: [GET] https://example.com/voice/fallback
MESSAGES:
Authenticate Inbound Media: On
Webhook Version: v1
Status URL: [POST] https://example.com/meetings/status
Inbound URL: [POST] https://example.com/meetings/inbound
VERIFY:
Webhook Version: v2
Status URL: [POST] https://example.com/verify2/status
RTC:
Event URL: [POST] https://example.com/rtc/event
Uses Signed callbacks: On
VIDEO:
Archive Status URL: [POST] https://example.com/video/archive-status
Archive Status Signature Secret: archive status
Broadcast Status URL: [POST] https://example.com/video/broadcast-status
Broadcast Status Signature Secret: broadcast status
Caption Status URL: [POST] https://example.com/video/caption-status
Caption Status Signature Secret: caption-status
Connection Created URL: [POST] https://example.com/video/connected-created
Connection Created Signature Secret: connection created
Connection Destroyed URL: [POST] https://example.com/video/connection-destroyed
Connection Destroyed Signature Secret: connection destroyed
Render Status URL: [POST] https://example.com/video/render-status
Render Status Signature Secret: render status
SIP Call Created URL: [POST] https://example.com/video/sip1
SIP Call Created Signature Secret: Off
SIP Call Destroyed URL: [POST] https://example.com/video/sip3
SIP Call Destroyed Signature Secret: Off
SIP Call Mute Forced URL: [POST] https://example.com/video/sip4
SIP Call Mute Forced Signature Secret: Off
SIP Call Updated URL: [POST] https://example.com/video/sip2
SIP Call Updated Signature Secret: Off
Stream Created URL: [POST] https://example.com/video/stream-created
Stream Created Signature Secret: stream created
Stream Destroyed URL: [POST] https://example.com/video/stream-destroyed
Stream Destroyed Signature Secret: stream destroyed
RECORDINGS STORAGE:
Cloud Storage: On
Storage Type: AmazonS3
Credential: manchuck_aws_bucket
End to End Encryption: On
Server Side Encryption: On
NETWORK APIS:
Redirect URL: [GET] https://example.com/gnp/redirect
NB: VBC capabilities is not supported through the command line.
vonage apps show 00000000-0000-0000-0000-000000000000
✅ Fetching application
Name: All enabled
Application ID: 00000000-0000-0000-0000-000000000000
Improve AI: Off
Private/Public Key: Set
Capabilities:
VOICE:
Uses Signed callbacks: On
Conversation TTL: 41 hours
Leg Persistence Time: 6 days
Event URL: [GET] https://example.com/voice/event
Answer URL: [GET] https://example.com/voice/answer
Fallback URL: [GET] https://example.com/voice/fallback
MESSAGES:
Authenticate Inbound Media: On
Webhook Version: v1
Status URL: [POST] https://example.com/meetings/status
Inbound URL: [POST] https://example.com/meetings/inbound
VERIFY:
Webhook Version: v2
Status URL: [POST] https://example.com/verify2/status
RTC:
Event URL: [POST] https://example.com/rtc/event
Uses Signed callbacks: On
VIDEO:
Archive Status URL: [POST] https://example.com/video/archive-status
Archive Status Signature Secret: archive status
Broadcast Status URL: [POST] https://example.com/video/broadcast-status
Broadcast Status Signature Secret: broadcast status
Caption Status URL: [POST] https://example.com/video/caption-status
Caption Status Signature Secret: caption-status
Connection Created URL: [POST] https://example.com/video/connected-created
Connection Created Signature Secret: connection created
Connection Destroyed URL: [POST] https://example.com/video/connection-destroyed
Connection Destroyed Signature Secret: connection destroyed
Render Status URL: [POST] https://example.com/video/render-status
Render Status Signature Secret: render status
SIP Call Created URL: [POST] https://example.com/video/sip1
SIP Call Created Signature Secret: Off
SIP Call Destroyed URL: [POST] https://example.com/video/sip3
SIP Call Destroyed Signature Secret: Off
SIP Call Mute Forced URL: [POST] https://example.com/video/sip4
SIP Call Mute Forced Signature Secret: Off
SIP Call Updated URL: [POST] https://example.com/video/sip2
SIP Call Updated Signature Secret: Off
Stream Created URL: [POST] https://example.com/video/stream-created
Stream Created Signature Secret: stream created
Stream Destroyed URL: [POST] https://example.com/video/stream-destroyed
Stream Destroyed Signature Secret: stream destroyed
RECORDINGS STORAGE:
Cloud Storage: On
Storage Type: AmazonS3
Credential: manchuck_aws_bucket
End to End Encryption: On
Server Side Encryption: On
NETWORK APIS:
Redirect URL: [GET] https://example.com/gnp/redirect
NB: VBC capabilities is not supported through the command line.
Criação de uma aplicação
O vonage apps create <name> O comando permite que você crie um aplicativo. É necessário informar o nome do aplicativo, pois a CLI não irá gerá-lo automaticamente.
O comando possui os seguintes parâmetros:
Observação: Se você não fornecer sua própria chave, a Vonage criará uma para você. No entanto, se você não salvar a chave no momento da criação do aplicativo, não poderá acessá-la novamente. Você terá que regenerar a chave caso a perca.
vonage apps create 'Your application'
✅ Creating Application
Saving private key ... Done!
Application created
Name: Your application
Application ID: 00000000-0000-0000-0000-000000000000
Improve AI: Off
Private/Public Key: Set
Capabilities:
None Enabled
vonage apps create 'Your application'
✅ Creating Application
Saving private key ... Done!
Application created
Name: Your application
Application ID: 00000000-0000-0000-0000-000000000000
Improve AI: Off
Private/Public Key: Set
Capabilities:
None Enabled
As versões anteriores da CLI permitiam definir também os recursos do aplicativo; no entanto, essa funcionalidade foi removida na versão 3 da CLI — os motivos para isso são explicados abaixo.
Atualização de uma aplicação
vonage apps update <id> permite que você atualize o nome de uma aplicação existente, altere a configuração “Melhorar IA” ou defina uma nova chave pública:
vonage apps update 00000000-0000-0000-0000-000000000000 `
--name="New Application Name"
✅ Fetching Application
✅ Updating Application
Name: New Application Name
Application ID: 00000000-0000-0000-0000-000000000000
Improve AI: Off
Private/Public Key: Set
vonage apps update 00000000-0000-0000-0000-000000000000 ^
--name="New Application Name"
✅ Fetching Application
✅ Updating Application
Name: New Application Name
Application ID: 00000000-0000-0000-0000-000000000000
Improve AI: Off
Private/Public Key: Set
Excluindo uma aplicação
É possível excluir um aplicativo com o comando vonage apps delete <id>, onde id é o UUID do aplicativo:
vonage apps delete 00000000-0000-0000-0000-000000000000
✅ Fetching application
Delete application New Name (7d7133ab-de4e-4b7a-8e1e-376670077c71)? [y/n]
✅ Deleting application
vonage apps delete 00000000-0000-0000-0000-000000000000
✅ Fetching application
Delete application New Name (7d7133ab-de4e-4b7a-8e1e-376670077c71)? [y/n]
✅ Deleting application
Gerenciamento das funcionalidades de um aplicativo
Nas versões anteriores da CLI, era necessário passar todos os valores sempre que se desejasse modificar uma capacidade de uma aplicação.
Isso significava que era preciso lembrar quais eram os valores atuais e, caso não incluísse um sinalizador
ou inserisse um valor incorreto, a funcionalidade não funcionaria conforme o esperado. A versão 3 da CLI resolve
esse problema com um novo subcomando para gerenciar as funcionalidades dos aplicativos. O formato do comando é o
seguinte: vonage apps capabilities <action> <id> <which> [flags].
Gerenciamento de Numbers para um aplicativo
A versão 3 da CLI permite gerenciar facilmente os Numbers de um aplicativo. Existem dois comandos principais:
vonage apps numbers list <id>, e, vonage apps numbers <link|unlink> <id> <msisdn>. O uso desses comandos garantirá
que os Numbers sejam vinculados corretamente.
Listando os números vinculados a uma aplicação
Para listar todos os números vinculados a uma aplicação, execute vonage apps numbers list <id>, onde id é o UUID do
aplicativo. Se você passar o --fail flag, este comando será encerrado com o código 1 se o aplicativo não tiver
nenhum dos dois messages ou voice recursos.
Observação: Isso fará chamadas contínuas à API para buscar todos os números que você vinculou. Isso pode demorar um pouco, dependendo da quantidade de números que você possui.
vonage apps numbers list 00000000-0000-0000-0000-000000000000
✅ Fetching Application
Fetching numbers linked to application Your application [==============] 1/1 100%
There is 1 number linked:
Number Country Type Features
----------- ------------------ --------- ---------------
16127779311 🇺🇸 United States Mobile MMS, SMS, VOICE
vonage apps numbers list 00000000-0000-0000-0000-000000000000
✅ Fetching Application
Fetching numbers linked to application Your application [==============] 1/1 100%
There is 1 number linked:
Number Country Type Features
----------- ------------------ --------- ---------------
16127779311 🇺🇸 United States Mobile MMS, SMS, VOICE
Vincular/Desvincular um número a uma Application
Numbers podem ser vinculados usando vonage apps <link|unlink> <id> <msisdn>, onde id é o UUID do aplicativo, e msisdn é o número a ser vinculado ou desvinculado.
Observação: As opções --app-id e --private-key são ignoradas neste comando.
vonage apps numbers link 00000000-0000-0000-0000-000000000000 16127779311
✅ Fetching Application
Fetching Owned numbers [===============================================] 1/1 100%
Number linked
Number: 16127779311
Country: 🇺🇸 United States
Type: Toll-free
Features: MMS, SMS, VOICE
Monthly Cost: Not Set
Setup Cost: Not Set
Linked Application ID: 00000000-0000-0000-0000-000000000000
Voice Callback: app
Voice Callback Value: 00000000-0000-0000-0000-000000000000
Voice Status Callback: Not Set
vonage apps numbers link 00000000-0000-0000-0000-000000000000 16127779311
✅ Fetching Application
Fetching Owned numbers [===============================================] 1/1 100%
Number linked
Number: 16127779311
Country: 🇺🇸 United States
Type: Toll-free
Features: MMS, SMS, VOICE
Monthly Cost: Not Set
Setup Cost: Not Set
Linked Application ID: 00000000-0000-0000-0000-000000000000
Voice Callback: app
Voice Callback Value: 00000000-0000-0000-0000-000000000000
Voice Status Callback: Not Set