
Compartilhar:
Ben é um desenvolvedor que mudou de carreira, tendo atuado anteriormente por uma década nas áreas de educação de adultos, organização comunitária e gestão de organizações sem fins lucrativos. Ele trabalhou como representante de desenvolvedores na Vonage. Escreve regularmente sobre a interseção entre desenvolvimento comunitário e tecnologia. Natural do sul da Califórnia e morador de longa data da cidade de Nova York, Ben reside atualmente perto de Tel Aviv, em Israel.
Anunciando o SDK do Vonage Ruby, versão 7.4.0
O SDK do Vonage Ruby lançou recentemente uma nova versão, a v7.4.0. Essa nova versão traz, pela primeira vez ao SDK, a capacidade de criar ações (“NCCO”) para chamadas de voz programáveis!
Vamos explorar o raciocínio por trás disso e como funciona.
O que é um NCCO?
A Voice API da Vonage pode ser vista como uma conversa entre você e a API, mediada pelo seu código. Você informa à API como deseja que ela se comporte durante a chamada telefônica por meio de ações criadas em JSON que você envia para a Voice API. Essas ações são chamadas de NCCOs.
Você pode enviar conversão de texto em fala, iniciar uma gravação de chamada, criar uma teleconferência e realizar uma infinidade de outras atividades com os NCCOs. A Voice API atua em cada NCCO em ordem sequencial e, na maioria das vezes, de forma síncrona. Por exemplo, digamos que você queira iniciar uma chamada com uma saudação de conversão de texto em fala, seguida pela coleta de entrada de voz. Seu NCCO ficaria assim:
[
{
:action => "talk",
:text => "Hello, please say something!"
},
{
:action => "input",
:type => ["speech"],
:context => ["continue", "hangup", "main menu"]
}
]
No exemplo acima, a primeira ação do NCCO reproduz a saudação “Olá, por favor, diga algo!”, enquanto a ação seguinte do NCCO coleta a entrada de voz. Incluímos um parâmetro opcional adicional de context no input que fornece algumas dicas verbais ao mecanismo de reconhecimento de fala sobre que tipo de palavras ele pode esperar ouvir da pessoa.
Edifício da NCCO no SDK
O processo de criação de NCCOs pode se tornar bastante complexo à medida que as necessidades da sua aplicação ou serviço aumentam. Cada ação do NCCO tem seus próprios requisitos específicos de estrutura de dados, e tentar lembrar de cada um deles ou precisar consultar continuamente o Guia de Referência do NCCO pode ser exaustivo.
A equipe de SDK da Vonage acredita que, se um SDK se limita a enviar solicitações HTTP à API, ele não está cumprindo plenamente seu objetivo. Um SDK deve permitir que os desenvolvedores criem soluções com as APIs da Vonage de uma maneira mais simplificada e agradável.
Agora, com a versão 7.4.0 do SDK Ruby da Vonage, é possível criar ações NCCO programaticamente, com feedback em tempo real e suporte em Ruby! Vamos dar uma olhada em como isso funciona.
Como isso funciona?
O novo gerador de NCCO é semelhante à funcionalidade do gerador de JWT, na medida em que não faz parte da instanciação do Client SDK. Não é necessário fornecer nenhuma credencial para começar a gerar um NCCO.
Cada ação do NCCO pode ser executada chamando-se seu nome como método da Vonage::Voice::Ncco classe. Por exemplo, a talk ação torna-se o #talk método e é acessada chamando-se Vonage::Voice::Ncco.talk. Cada método aceita os parâmetros enumerados no Guia de Referência do NCCO no portal do desenvolvedor da API da Vonage.
Além disso, o construtor NCCO fornecerá feedback em tempo real na forma de exceções para parâmetros incorretos. Isso se torna muito útil ao criar uma ação que tenha requisitos altamente específicos de tipo de dados ou estrutura de dados. Por exemplo, um número de telefone deve estar no formato formato E.164 . O construtor NCCO exibirá um erro e informará se o número fornecido não estiver de acordo com essa especificação.
O exemplo com o qual começamos, que envolvia duas ações da NCCO: um talk e um discurso input, pode ser criado com o novo construtor do NCCO da seguinte maneira:
talk = Vonage::Voice::Ncco.talk(text: 'Hello, please say something!')
input = Vonage::Voice::Ncco.input(type: ['speech'], context: ["continue", "hangup", "main menu"])A etapa final na construção do seu NCCO é chamar o #build método. O #build método aceita os objetos de ação do NCCO e constrói uma estrutura JSON do NCCO totalmente pronta, com os NCCOs na ordem em que foram passados. Assim, para concluir o talk e input , invocaríamos o #build método da seguinte maneira:
ncco = Vonage::Voice::Ncco.build(talk, input)
# => [{:action=>"talk", :text=>"Hello, please say something!!"}, {:action=>"input", :type=>["speech"], :speech=>{:context=>["continue", "hangup", "main menu"]}}]
E agora?
Temos mais planos empolgantes em andamento para o Ruby SDK! Continuamos aprimorando os recursos do SDK para alinhá-lo ainda mais ao nosso objetivo de ser um recurso que não apenas faça solicitações HTTP para você, mas, acima de tudo, torne suas tarefas mais fáceis e eficientes.
Sempre incentivamos a participação da comunidade. Fique à vontade para se juntar a nós no GitHub e no Slack da Comunidade Vonage.
Compartilhar:
Ben é um desenvolvedor que mudou de carreira, tendo atuado anteriormente por uma década nas áreas de educação de adultos, organização comunitária e gestão de organizações sem fins lucrativos. Ele trabalhou como representante de desenvolvedores na Vonage. Escreve regularmente sobre a interseção entre desenvolvimento comunitário e tecnologia. Natural do sul da Califórnia e morador de longa data da cidade de Nova York, Ben reside atualmente perto de Tel Aviv, em Israel.