https://a.storyblok.com/f/270183/63175/b5d91ebeb0/action-flows_python_voiceapis.jpg

Fluxos de ação que você pode executar com a Voice API

Publicado em March 27, 2023

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

pip install 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

string does not match regex "^[1-9]\d{6,14}$" (type=value_error.str.regex; pattern=^[1-9]\d{6,14}$)

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.

Compartilhar:

https://a.storyblok.com/f/270183/400x409/b965ab37c0/oleksii-borysenko.png
Oleksii BorysenkoEx-funcionários da Vonage

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.