
Compartilhar:
Oleksii é Developer Advocate na Vonage, autor e contador de histórias. Seus interesses incluem IA/ML, comunicações unificadas, tecnologias educacionais, tecnologias em nuvem e código aberto.
Fluxos de ação que você pode executar com a Voice API
Tempo de leitura: 5 minutos
Você pode criar aplicativos de voz programáveis de alta qualidade na nuvem com Voice API da Vonage e Python. Por exemplo, você pode gerenciar chamadas de saída e de entrada em Objetos de Controle de Chamadas, gravar e armazenar chamadas, criar uma teleconferência e enviar mensagens de conversão de texto em fala em vários idiomas com diversas vozes e sotaques.
NCCO — são os Objetos de Controle de Chamada (NCCOs) que descrevem o fluxo de uma chamada da Voice API. O NCCO é representado por um array JSON. O Objeto de Controle é uma parte essencial da chamada, contendo instruções que precisam ser executadas durante a chamada. Por exemplo, em que ordem e como a conversa da chamada deve ocorrer.
Este artigo descreverá como usar o NCCO Builder usando trechos de código em Python como exemplo.
Gerador NCCO, SDK do Python
Use o construtor para criar ações NCCO válidas, que são modeladas no SDK como modelos Pydantic e incorpore-as em um NCCO. Nos modelos Pydantic estão descritos parâmetros obrigatórios e opcionais para a ação NCCO relacionada. As ações NCCO suportadas pelo construtor são:
| NCCO action | Sample of NCCO Python object |
|---|---|
| Record | record = Ncco.Record(eventUrl=['https://example.com']) |
| Conversation | conversation = Ncco.Conversation(name='Audio demo') |
| Connect | connect = Ncco.Connect(endpoint={'type':'phone','number':'123456789'}) |
| Talk | talk = Ncco.Talk(text='Press 1 for maybe and 2 for not sure followed by the hash key', language='en-GB') |
| Stream | stream = Ncco.Stream(streamUrl='https://nexmo-community.github.io/ncco-examples/assets/voice_api_audio_streaming.mp3') |
| Input | input = Ncco.Input(type=['dtmf', 'speech'], dtfm={'maxDigits':'1'}) |
| Notify | notify = Ncco.Notify(payload={"foo": "bar"}, eventUrl='https://example.com/webhooks/event') |
Você deseja usar o NCCO Builder em seu aplicativo? Primeiro, é preciso instalar o SDK da Vonage
E importar pacotes da Vonage
import vonage
from vonage import Ncco Incorporar a um NCCO
Método Ncco.build_ncco pode criar um NCCO a partir das ações. Ele será retornado como uma lista de dicionários representando cada ação e pode ser usado em chamadas à Voice API.
A lista de parâmetros obrigatórios e opcionais pode ser encontrada na página de referência do NCCO
Vamos criar um NCCO capaz de conectar dois usuários.
O código a seguir define as ações “construct”, “talk” e “connect”, das quais precisamos
talk = Ncco.Talk(text='Please wait while we connect you.')
connect = Ncco.Connect(endpoint={'type':'phone','number':'123456789'}, from_ = '12345678', timeout='20')A ação Connect possui cada tipo de endpoint válido (telefone, aplicativo, WebSocket, SIP e VBC) especificado como um modelo Pydantic, de modo que esses possam ser validados; no entanto, também é possível passar um dicionário com as propriedades do endpoint diretamente para o Ncco.Connect objeto.
Vamos criar o NCCO com build_ncco método e duas ações
ncco = Ncco.build_ncco(talk, connect)Será criado o seguinte JSON
[
{
"action": "talk",
"text": "Please wait while we connect you."
},
{
"action": "connect",
"endpoint" :[
{
"type": "phone",
"number": "123456789"
}
],
"from": "12345678",
"timeout":20
}
]Se você usar um objeto NCCO, poderá validá-lo aqui.
Se você estiver usando o NCCO Builder, poderá receber mensagens de erro no terminal. A sequência a seguir pode exibir uma mensagem de erro no terminal caso uma das opções de ação obrigatórias não seja válida
Conclusão
O novo NCCO Builder simplifica e permite automatizar a criação de ações. Com base na documentação oficial e nos exemplos deste tutorial, você pode usar o NCCO Builder em seu aplicativo. Faça login/Cadastre-se gratuitamente e crie seu aplicativo de Voice usando a nova criação programática de Objetos de Controle de Chamadas.