Transcreva mensagens de voz no Node.js com o Twilio Functions
Tempo de leitura: 4 minutos
Neste tutorial, você usará a Twilio Programamble Voice para receber chamadas telefônicas no número de telefone da Twilio e transcrever qualquer mensagem de voz deixada por quem ligou. Este guia pode ser usado como base para criar seu próprio sistema de correio de voz.
Pré-requisitos
Para começar este tutorial, você precisa de:
- Uma conta gratuita da Twilio. Cadastre-se neste link e ganhe $ 10 em crédito gratuito ao fazer o upgrade para uma conta paga
- Um número de telefone da Twilio
Crie um novo serviço de funções da Twilio
Na Twilio, você pode configurar um webhook que transferirá todas as chamadas recebidas para o número de telefone da Twilio.
Você precisará de um local para hospedar o código do webhook, que pode ser o seu servidor ou um aplicativo em execução local, mas para este tutorial você usará o Twilio Functions. O Twilio Functions é um ambiente sem servidor que permite implantar serviços de back-end sem a sobrecarga de configurar um servidor.
Para configurar um novo serviço do Functions, visite a seção Functions no console da Twilio. Lá, clique no botão Create service (Criar serviço). Um serviço do Functions é um contêiner exclusivo para funções, ativos e ambientes relacionados.
Ao clicar em Create service (Criar serviço), você precisará inserir um nome qualquer. Neste campo, digite "serviço de transcrição". Depois de inserir o nome, clique no botão Next (Avançar). Isso o levará ao editor para o seu novo serviço.
Na parte superior da página, clique no botão azul Add + (Adicionar +) e selecione Add Function (Adicionar função). Dê o nome /transcribe-call para a função.
Você poderá editar sua função no editor de texto à direita.
Exclua qualquer código preenchido automaticamente dentro de sua nova função e substitua-o pelo seguinte:
O código acima primeiro cria uma nova variável chamada twiml
, que contém uma referência a um novo objeto TwiML Voice Response.
TwiML, que significa Twilio Markup Language, é um XML, que tem marcas especiais definidas pela Twilio. Você pode usar o TwiML para informar à Twilio como lidar com uma chamada telefônica ou SMS recebido. Em vez de escrever XML, você também pode escrever TwiML programaticamente, que é o que você está fazendo nesta função.
Depois de criar a variável twiml
, este código diz "Certo, Twilio, pode gravar o que for dito!". <Record>
é um dos inúmeros verbos TwiML. Os verbos TwiML informam à Twilio quais ações realizar, e essas ações podem ser personalizadas fornecendo o verbo com certos parâmetros chamados atributos.
O verbo <Record>
criará uma gravação de áudio de tudo o que o autor da chamada disser depois que a chamada se conectar e poderá ser modificado com uma série de atributos diferentes. Os atributos mais relevantes para este tutorial são transcribe
e transcribeCallback
.
transcribe
é um atributo opcional que, quando incluído e definido como true
, dirá à Twilio para criar uma transcrição de voz para texto de qualquer mensagem deixada pelo autor da chamada, com a ressalva de que a mensagem deve ter entre 2 e 120 segundos de duração. Isso significa que algumas mensagens muito curtas e muito longas não serão transcritas, embora as gravações de áudio reais da mensagem não sejam afetadas.
O conteúdo da transcrição será armazenado pela Twilio para você e poderá ser acessado por meio da API de transcrição.
Como alternativa, você pode retornar a chamada de transcrição para o verbo <Record>
que será executado quando a transcrição for concluída. Neste retorno da ligação, você pode acessar o conteúdo da transcrição e executar uma ação nele, como salvá-lo em um banco de dados ou imprimi-lo em uma página da Web.
Se você usar o atributo transcribeCallback
, você não precisará incluir o atributo transcribe: true
. Tudo isso é o que você está vendo no código acima, nas linhas 4-6.
Isso leva você para a próxima etapa: criar a função de retorno de chamada de transcrição.
Adicione a função de retorno de chamada de transcrição
Pressione o botão Save (Salvar) no editor do Functions e adicione uma nova função clicando novamente no botão Add + (Adicionar +) na parte superior do editor.
Dê a esta função o nome /transcription.
Exclua qualquer código que foi preenchido automaticamente em sua função e substitua-o pelo seguinte:
Todos os dados sobre a transcrição estão disponíveis no objeto event
.
No código acima, a função verifica se TranscriptionStatus
corresponde a failed
. Nesse caso, ele atribui a string No transcription available
a uma variável chamada transcription
.
Se a transcrição foi bem-sucedida, esse código atribui o conteúdo real da transcrição, event.TranscriptionText
a variável transcription
. Depois, ele registra o valor transcription
.
Clique no botão Save (Salvar) e depois clique em Deploy All (Implementar tudo) na parte inferior do editor.
Configure o webhook para o número de telefone da Twilio
Não feche o editor do Functions e, em uma nova guia, visite a Seção de números de telefone da Twilio do console.
Localize na lista o número de telefone que você está usando neste tutorial e clique nele para abrir a página de configuração desse número.
Role para baixo até ver uma seção chamada Voice & Fax (Voz e fax).
Faça os seguintes ajustes nas informações mostradas nesta seção:
- Para Aceitar recebimento, selecione Voice Calls (Chamadas de voz)
- Para Configurar com, selecione Webhooks, TwiML Bins, Functions, Studio ou Proxy
- Para Receber uma chamada, selecione Function (Função)
- Para Serviço, selecione /transcribe-call
- Em Ambiente, selecione ui
- Para Caminho da função, selecione /call
Depois de fazer essas alterações, clique no botão Save (Salvar) e volte para a guia com o editor do Functions.
Teste seu aplicativo
De volta ao editor do Functions, verifique se a opção Enable Live Logs (Habilitar registros ativos) está ativada na parte do console do editor.
Ligue para o número de telefone da Twilio com seu telefone pessoal. Você ouvirá um bipe e poderá falar no telefone e dizer algumas palavras. Certifique-se de falar por pelo menos alguns segundos para garantir que haja conteúdo suficiente para que a transcrição seja acionada. Depois de deixar sua mensagem, desligue a chamada.
Enquanto você faz isso, fique de olho na parte do console do editor de funções. Pode demorar alguns segundos, mas em breve você verá o texto de transcrição registrado no console.
Parabéns. Agora que você aprendeu a gravar transcrições, o que fará em seguida? Conte para a gente no Twitter!
Publicações relacionadas
Recursos relacionados
Twilio Docs
De APIs a SDKs e aplicativos de amostra
Documentação de referência de API, SDKs, bibliotecas auxiliares, guias de início rápido e tutoriais para sua linguagem e plataforma.
Centro de Recursos
Os mais recentes e-books, relatórios do setor e webinars
Aprenda com especialistas em engajamento do cliente para melhorar sua própria comunicação.
Ahoy
Centro da comunidade de desenvolvedores da Twilio
Melhores práticas, exemplos de código e inspiração para criar comunicações e experiências de engajamento digital.