
Compartir:
Antiguo educador de desarrolladores @Vonage. Procedente de PHP, pero no limitado a un solo lenguaje. Un ávido jugador y un entusiasta de Raspberry pi. A menudo se le encuentra practicando escalada en rocódromo.
Llamadas de voz de texto a voz con Go
Tiempo de lectura: 5 minutos
En este tutorial, vamos a aprender a realizar llamadas telefónicas salientes de texto a voz utilizando Go y la Voice API. Este tutorial requerirá crear una aplicación de Vonage que tenga capacidades de voz.
Puede encontrar el código mostrado en este tutorial en el repositorio de repositorio de fragmentos de código Go.
Requisitos previos
Un número de teléfono
Vonage API Account
To complete this tutorial, you will need a Vonage API account. If you don’t have one already, you can sign up today and start building with free credit. Once you have an account, you can find your API Key and API Secret at the top of the Vonage API Dashboard.
This tutorial also uses a virtual phone number. To purchase one, go to Numbers > Buy Numbers and search for one that meets your needs.
Configura tu cuenta de Vonage
Cree una aplicación en "Sus Applications" en el Panel de control. Dale un nombre a tu nueva aplicación y selecciona "Generar clave pública y privada", esto descargará el archivo private.key para ti, el cual deberás mover para que esté junto al código que vas a crear.
En Capacidades, activa Voice.
*Nota: Para este tutorial no es necesario configurar webhooks para manejar los dos campos requeridos: "Evento" y "Respuesta". Sin embargo, como se requiere que introduzca estos campos de forma, le invitamos a poner una URL como: "http://example.com/event" y "http://example.com/answer" . Si desea manejar estos usted mismo, tendrá que construir dos webhooks en su aplicación para recibir las solicitudes, y luego exponer sus webhooks a Internet. Mi sugerencia para esto sería utilizar ngrok, del que tenemos un excelente tutorial aquí: https://developer.vonage.com/en/blog/local-development-nexmo-ngrok-tunnel-dr/.
La página que se carga ahora mostrará su ID de solicitud. Anote este ID.
Ya compraste un número virtual de Vonage y creaste una aplicación de Vonage.
Configurar el código
Ahora es el momento de escribir el código para hacer esta llamada de voz de texto a voz. En el directorio de tu proyecto (donde también guardaste tu archivo private.key cree un nuevo archivo llamado make-an-outbound-call-ncco.go e introduce el siguiente código:
Nota: asegúrese de actualizar el
PATH_TO_PRIVATE_KEY_FILEpara que sea la ruta a su archivo de clave privada (incluyendo el nombre del archivo de clave privada), suAPPLICATION_IDcon el Id. de aplicación que anotaste anteriormente en el tutorial, actualiza elVONAGE_NUMBERa tu número virtual de Vonage recientemente adquirido. Por último, actualizaTO_NUMBERcon el número en el que esperas recibir la llamada.
package main
import (
"fmt"
"io/ioutil"
"github.com/vonage/vonage-go-sdk"
"github.com/vonage/vonage-go-sdk/ncco"
)
func main() {
privateKey, _ := ioutil.ReadFile(PATH_TO_PRIVATE_KEY_FILE)
auth, _ := vonage.CreateAuthFromAppPrivateKey(APPLICATION_ID, privateKey)
client := vonage.NewVoiceClient(auth)
from := vonage.CallFrom{Type: "phone", Number: VONAGE_NUMBER}
to := vonage.CallTo{Type: "phone", Number: TO_NUMBER}
MyNcco := ncco.Ncco{}
talk := ncco.TalkAction{Text: "This is a text to speech call from Vonage"}
MyNcco.AddAction(talk)
result, _, _ := client.CreateCall(vonage.CreateCallOpts{From: from, To: to, Ncco: MyNcco})
fmt.Println(result.Uuid + " call ID started")
}En el código anterior, dentro de la función main() recupera primero el valor de su archivo de clave privada (que debería llamarse private.key), luego crea un objeto auth usando el id de tu Application y tu fichero private.key. Siguiendo esto, está creando un nuevo objeto Voice Client, creando objetos para sus números de teléfono "from" y "to" con el tipo "phone".
A continuación, está creando un Ncco objeto con el TalkAction de "Esta es una llamada de texto a voz de Vonage", que luego añades al MyNcco objeto. Finalmente, se realiza una solicitud de llamada al objeto voice API que contiene el objeto from, to y Ncco .
Si ha iniciado la llamada con éxito, verá el Uuid de la llamada en su Terminal.
Hora de probar
En su ventana Terminal, asegúrese de que ha navegado hasta el directorio del proyecto que contiene su archivo make-an-outbound-call-ncco.go y ejecute el siguiente comando para realizar la llamada:
Si tiene éxito, debería ver algo similar a la salida de abajo en su Terminal:
Revisa tu teléfono para ver si hay una llamada entrante, contesta y escucha las maravillosas palabras "Esta es una llamada de texto a voz de Vonage".
Ahora has escrito una aplicación Go que utiliza Voice API de Vonage para realizar una llamada de voz saliente de texto a voz.
Lecturas complementarias
Puede encontrar el código mostrado en este tutorial en el repositorio de repositorio de fragmentos de código Go.
A continuación encontrarás otros tutoriales que hemos escrito sobre el uso de nuestros servicios con Go:
No olvides que si tienes alguna pregunta, consejo o idea que quieras compartir con la comunidad, no dudes en entrar en nuestro espacio de trabajo espacio de trabajo comunitario Slack. Me encantaría saber si alguien ha implementado este tutorial y cómo funciona su proyecto.
