Header Ads Widget

Ticker

6/recent/ticker-posts

Construyendo un mejor correo de voz con Twilio

 

Las aplicaciones de telefonía han recorrido un largo camino desde los días en que tenía que crear integraciones complicadas con varios proveedores, cada uno con su propia API. Uno de los servicios que sobresale en abstraer la relación entre integradores y proveedores es Twilio , una plataforma popular que permite a los desarrolladores implementar diferentes tipos de aplicaciones de comunicaciones.

Si bien Twilio se ocupa de la complejidad de la telefonía entre bastidores, ofrece a los desarrolladores un conjunto de API fáciles de usar que permiten la creación de diferentes tipos de aplicaciones. En este artículo, usaremos Twilio para crear un sistema de correo de voz que le notifica por correo electrónico cada vez que alguien deja un mensaje . Como pronto descubrirá, la codificación será limitada, pero recomendamos algunos conocimientos de HTTP y PHP.

Al leer este artículo, también comprenderá por qué Twilio es tan popular entre los integradores. Creemos que Twilio es un buen modelo para otros proveedores de API. Es posible que vea las funciones resaltadas en este tutorial como cosas para ofrecer de manera similar a los desarrolladores que consumen su API.

Alcance del proyecto
alcance

Una de las mayores quejas que tiene la gente cuando usa el correo de voz es lo hostil que se siente todo el sistema. Una solución es hacer que recibir y leer mensajes sea más sencillo. Los usuarios a quienes no les gusta usar el correo de voz en absoluto, por ejemplo, pueden preferir recibir un mensaje de correo electrónico cada vez que una persona que llama deja un mensaje.

Nuestro proyecto consiste en el desarrollo de un sistema de correo de voz que no solo registra los mensajes que dejan las personas que llaman a su celular, sino que también le envía una notificación por correo electrónico con un enlace a la grabación. El proyecto se compone de varios pasos que deberá completar antes de que el sistema de correo de voz esté en funcionamiento:

  1. Creando una cuenta Twilio
  2. Obtener un número de teléfono de Twilio
  3. Configuración de la URL de solicitud de voz
  4. Implementación de la URL de acción de registro
  5. Probando la solución
  6. Configurando su teléfono celular

Comencemos con el primer paso para ponerlo en funcionamiento con una cuenta de Twilio.

1. Creando una cuenta Twilio
creando cuenta

Twilio facilita la creación de una cuenta de prueba. Solo tiene que abrir el sitio web de Twilio en su navegador y hacer clic en el botón "Registrarse" en la esquina superior derecha.

Después de completar el formulario, se le presentará un sistema de verificación que le envía un mensaje SMS al número de teléfono de su elección. Si no puede recibir mensajes SMS, Twilio puede llamarlo en su lugar. Twilio requiere este primer paso de validación para poder usar su número de teléfono como identificador de llamadas.

2. Obtener un número de teléfono de Twilio
teléfono

Después de pasar la prueba de validación, Twilio le presentará inmediatamente un número de teléfono para jugar. Si, por alguna razón, no le gusta su número, siempre puede elegir otro de la lista de números disponibles.

Ahora podrá probar el envío y la recepción de mensajes SMS con su nuevo número para ver cómo funcionan las cosas. Una vez que haya terminado con esta prueba inicial, debe ir a su cuenta donde puede continuar implementando nuestro proyecto.

3. Configuración de la URL de solicitud de voz
solicitud de voz

Para comenzar, haga clic en "Números" en el menú de navegación superior. Desafortunadamente, Twilio no proporciona un número de teléfono gratuito con capacidades de voz, por lo que tendrá que comprar uno. Para hacer eso, haga clic en "Comprar un número" y asegúrese de seleccionar Voz en la configuración de "Capacidades".

Una vez que tenga su nuevo número, vuelva a la opción de menú "Números" y haga clic en él. Ahora debería ver una sección "Voz" con una entrada de formulario llamada "Solicitar URL". Para habilitarlo, primero haga que el siguiente XML esté disponible en la Web y copie su URL:

  
  Please leave a message after the tone.  

Pegue la URL donde se encuentra el XML en el campo de formulario "Solicitar URL" y luego haga clic en el botón "Guardar" en la parte inferior. Para probarlo, puede llamar a su número de Twilio y debería escuchar una voz que diga el mensaje "Por favor, deje un mensaje después del tono".

El archivo XML que acaba de crear se llama, de hecho, archivo TwiML . TwiML es el lenguaje de marcado de Twilio y permite a los desarrolladores decirle a Twilio cómo debe comportarse en determinadas acciones. En nuestro caso, nuestro archivo TwiML proporciona un conjunto de instrucciones de respuesta que se ejecutarán cada vez que alguien haga una llamada telefónica a su número.

En la segunda línea del archivo TwiML, la etiqueta Say le indicará a Twilio que exprese cualquier mensaje que contenga. La tercera línea de nuestro archivo TwiML usa una etiqueta Record . Esta etiqueta le dice a Twilio que debe capturar y grabar audio durante el resto de la llamada telefónica. El atributo de tiempo de espera establece la duración máxima de la grabación, en segundos. El parámetro más importante es la etiqueta de acción , que le indica a Twilio qué hacer inmediatamente después de que se haya realizado la grabación. A continuación veremos cómo implementar esta URL.

4. Implementación de la URL de acción de registro
registro

Ahora que puede recibir llamadas y saludar a las personas que llaman con un mensaje, aún tiene que enviar una notificación por correo electrónico después de que alguien deje un mensaje. Para hacer eso, usemos PHP para implementar la URL de acción de registro. Twilio realiza una llamada HTTP POST a esa URL con toda la información que necesitará.

<?php  
$from = $_POST['Caller'];  
$url = $_POST['RecordingUrl'];

mail(  
     '{yourEmailAddress}',  
     'New call from ' . $from,  
     'You have a new call from ' . $from . '.' .  
     "\n\n" .  
     'A voice mail is available at ' . $url  
    );

Debe reemplazar {yourEmailAddress}con la dirección de correo electrónico donde desea recibir las notificaciones del correo de voz. Después de eso, coloque este script PHP en algún lugar donde pueda ejecutarse con éxito y copiar su URL. Regrese al archivo XML creado anteriormente y reemplácelo {actionURL}con la URL de este script PHP y ya está todo listo.

Este script PHP comienza tomando el número de teléfono de la persona que llama y la URL de grabación de voz (líneas 2 y 3) de los parámetros HTTP POST Caller y RecordingUrl . Luego usa la mail()función de PHP para enviar una notificación por correo electrónico a una dirección de correo electrónico determinada. Usamos la mail()función de PHP aquí para simplificar, pero puede usar cualquier proveedor de correo electrónico de su elección, por ejemplo, SendGrid o Mailgun .

5. Prueba de la solución
prueba

Ahora, cuando llame a su número de Twilio, debería escuchar una voz que le pide que deje un mensaje. Después de colgar, también debería recibir una notificación por correo electrónico como esta:

You have a new call from CALLERPHONE.

A voice mail is available at http://api.twilio.com/2010-04-01/Accounts/YOURACCOUNT/Recordings/RECORDING

Haga clic en el enlace del correo de voz y podrá escuchar el mensaje de correo de voz desde cualquier dispositivo conectado.

6. Configuración de su teléfono celular para usar el sistema de correo de voz
configurar

Para que todo funcione según lo previsto, aún necesita configurar su teléfono celular para usar el sistema de correo de voz que acaba de crear. Para hacer eso, tendrá que redirigir tres tipos de llamadas a su número Twilio:

  • Cuando esté ocupado : su proveedor de telefonía móvil desviará la llamada a su número Twilio siempre que esté ocupado, por ejemplo, en medio de otra llamada.
  • Si no responde : la llamada se reenviará a su número de Twilio siempre que no responda a una llamada, que es el comportamiento habitual de un sistema de correo de voz.
  • Cuando no está disponible: si no está disponible, por ejemplo, fuera de la red, las llamadas se desviarán a su número de Twilio.

Después de configurar estos ajustes, la información se compartirá con su proveedor de telefonía celular e, incluso si su teléfono celular está desconectado, las llamadas se desviarán a su número de Twilio.

Conclusión
conclusión

La falta de complejidad en este proyecto demuestra cómo un proveedor de API puede reducir la fricción de implementación para los desarrolladores. El enfoque fluido de Twilio para el flujo de trabajo de llamadas a la API es posible con su lenguaje TwiML basado en XML y la comunicación basada en enlaces web. De hecho, la única parte de este proyecto que requiere escribir un código único es decirle a Twilio que envíe una notificación por correo electrónico después de grabar un mensaje de voz.

Después de intentar este proyecto, debería sentirse mejor preparado para crear otras integraciones con Twilio. Si usted es un proveedor de API, use Twilio como un buen ejemplo a seguir. Es sorprendente cómo un producto bien estructurado y orientado al desarrollador puede impulsar la creatividad y permitir la creación de todo tipo de integraciones.

Continúe con la segunda parte de esta serie, donde describimos nuestras reacciones al usar la API.

¿Ya estás usando Twilio? Háganos saber lo que piensa de este proyecto. ¡Deje un comentario aquí o póngase en contacto para discutir esto más!

Publicar un comentario

0 Comentarios