Borrar grabaciones de llamadas de empresa por duración
En este tutorial, usted aprenderá cómo obtener una lista de grabaciones de llamadas por una duración. Esto sería útil si usted tiene un montón de llamadas que son muy cortos (< 30 segundos) que se pueden eliminar. Esto ayudaría a la hora de generar informes con el fin de eliminar las llamadas que tienen poca o ninguna importancia para el informe. O, puede utilizar esto para eliminar grabaciones de llamadas con el fin de ahorrar dinero en los archivos de llamadas.
La API de grabación de llamadas le permite recuperar todas las grabaciones de llamadas y permite filtrar por fecha de llamada, extensión, caller_id, dirección (entrante o saliente) y más. Eche un vistazo a la referencia de la API para ver todos los filtros posibles.
En este ejemplo, buscaremos las grabaciones del último mes y eliminaremos las llamadas que duren menos de 30 segundos. Utilizaremos un script python para buscar las grabaciones de llamadas y, para cada grabación, la eliminaremos.
Python es el lenguaje utilizado para construir el siguiente ejemplo; sin embargo, puede utilizar cualquier lenguaje con el que se sienta más cómodo. La siguiente biblioteca Python se utiliza en este ejemplo.
Requisitos previos
Antes de comenzar, deberás tener una cuenta de Vonage Developer. Si no tienes una cuenta de Vonage Developer, usa esto guía para configurar y crear su Account.
Una vez que tenga una Account, tendrá que hacer lo siguiente siguiendo estas guías:
Para este ejemplo, tendrá que Suscribirse a la aplicación Grabación de llamadas CSP(India) API.
Autenticación
Luego de crear una aplicación y suscribirte a la API de grabación de llamadas, deberás iniciar sesión con tus credenciales de Vonage Business Communications. Esta aplicación de ejemplo utiliza la biblioteca de solicitudes para llamar a la función /api/accounts/ API. Eche un vistazo a la Guía para realizar una solicitud API para más detalles.
A continuación, crearemos una función que solicite el archivo /api/accounts API para generar un token de acceso.
Para ejecutar esta función, tendrá que pasar lo siguiente:
USERNAME- Nombre de usuario de Vonage Business Communications. Asegúrate de añadir@vbc.prodal nombre de usuario.firstname.lastname@vbc.prod.PASSWORD- Contraseña de Vonage Business Communications.CLIENT_ID- El identificador de cliente de tu aplicación Vonage Developer.SECRET- El secreto de tu aplicación Vonage Developer.
Después de ejecutar esta función, debería ver la siguiente respuesta:
Obtener grabaciones de llamadas
Antes de llamar a la API company_call_recordings, tendremos que pasar una cadena de fecha de un mes en el pasado.
Aquí, obtenemos la fecha actual utilizando datetime.datetime.now()utilice datetime.timedelta() para crear una fecha que sea days en el pasado. Aquí utilizamos 30. A continuación, restaremos la fecha actual de la fecha de hace 30 días, para obtener nuestra fecha. Por último, utilizaremos strftime() para convertir el objeto fecha en una cadena. Hemos establecido la hora en 00:00:00+0000lo que significa que obtendremos la fecha a medianoche UTC.
Antes de que podamos pasar la fecha a la API de grabaciones de llamadas, necesitamos urlencode la fecha utilizando urllib.parse.quote_plus().
A continuación, solicitaremos la API de grabación de llamadas y utilizaremos la función access_token devuelto por el get_token() función. Esto devolverá una respuesta JSON de las grabaciones de llamadas. A continuación, pasaremos la fecha encoded_date en esta función
En este caso, llamamos al company_call_recordings_india/v1/api/ y pasando los siguientes parámetros:
account_id- El ID de cuenta de Vonage Business Communications. Puede utilizarselfpara referirse a la cuenta del usuario autenticado.page- El número de páginas a solicitar.page_size- El tamaño de página solicitado.order- El orden de las grabaciones de llamadas devueltasstart:gte- Filtrar registros por fecha de inicio (mayor o igual a)
También podríamos pasar en start:lte que devolvería registros anteriores a la fecha dada.
Una vez que tengamos la lista de grabaciones de llamadas, haremos un bucle con cada grabación y obtendremos la duración de la llamada. Si la duración de la llamada es inferior o igual a 30 segundos, la eliminaremos. Antes de hacer esto, asegúrate de que tienes una copia de seguridad de las grabaciones. Echa un vistazo al archivo Borrar grabaciones por fecha para guardar grabaciones en Amazon S3.
Borrar grabaciones de llamadas
En get_company_call_recordings() devuelve una lista de grabaciones de la cuenta. A continuación, crearemos una función para eliminar la grabación por su id de grabación.
Esta función toma la grabación del call_id y borrará la grabación de la llamada. Para este ejemplo, estamos configurando account_id a self.
A continuación, vamos a hacer un bucle con las grabaciones de llamadas del get_company_call_recordings() que escribimos y obtener las grabaciones call_id y duration. Pasaremos en call_id en nuestro delete_call_recording() para borrar la grabación.
Aquí tenemos la grabación id del recordings y, a continuación, pasar ese call_id a la lista delete_call_recording función. Si tiene éxito, la respuesta será una respuesta 204 vacía.
Trabajo CRON
El último paso consiste en eliminar las grabaciones de llamadas cada semana mediante una tarea CRON. De esta forma, no tendremos que ejecutar estas funciones manualmente. Un CRON es una forma de ejecutar scripts periódicamente a horas, fechas o intervalos fijos.
Puedes crear un trabajo CRON localmente ejecutando primero crontab -e en un sistema basado en OSX/Linux.
Para una máquina Windows:
- Conectarse con una Account privilegiada, por ejemplo Administrador
- Vaya a Inicio > Panel de control > Sistema y seguridad > Herramientas administrativas > Programador de tareas
- En el panel derecho, haga clic en Crear tarea básica
Nuestro trabajo CRON se ejecutará cada 30 días. Este es el aspecto que tendrá la tarea CRON:
En delete_vbc_recordings_by_duration.py es un script que borrará las grabaciones de las llamadas de menos de 30 segundos de duración.
Eche un vistazo a https://crontab-generator.org/ para crear su propia tarea CRON.
Conclusión
Aquí, hemos mostrado cómo crear un script python que se ejecuta como un trabajo CRON para eliminar grabaciones de llamadas VBC por su duración. El script puede ser personalizado para adaptarse a sus necesidades. Si tiene muchas llamadas de 1 minuto de duración, podrá actualizar el script según sea necesario.