Almacenamiento key-value, o cómo nuestras aplicaciones se volvieron más convenientes

Almacenamiento key-value, o cómo nuestras aplicaciones se volvieron más convenientes

Quien desarrolla en Voximplant sabe sobre el concepto de «aplicaciones», que conectan entre sí los escenarios en la nube, números de teléfono, usuarios, reglas y colas de llamadas. En otras palabras, las aplicaciones son la piedra angular del desarrollo en nuestra plataforma, el punto de entrada a cualquier solución basada en Voximplant, ya que todo comienza con la creación de una aplicación.

Antes, las aplicaciones «no recordaban» ni las acciones que llevaban a cabo los escenarios, ni los resultados de los cálculos, por lo que los desarrolladores se veían obligados a almacenar valores en servicios externos o en su propio backend. Si alguna vez has trabajado con el almacenamiento local en el navegador, nuestra nueva funcionalidad es bastante similar, ya que permite a las aplicaciones recordar pares de «clave-valor» que son únicos para cada aplicación en tu cuenta. El funcionamiento del almacenamiento se ha hecho posible gracias a un nuevo módulo ApplicationStorage – a continuación, encontrarás una breve guía sobre su uso, ¡bienvenido!

Necesitarás

  • una cuenta de Voximplant. Si no tienes una, el registro está aquí;
  • una aplicación de Voximplant, así como un escenario, una regla y un usuario. Crearemos todo esto en este tutorial;
  • un cliente web para hacer la llamada – utilizaremos nuestro teléfono web phone.voximplant.com.

Configuraciones de Voximplant

Primero, inicia sesión en tu cuenta: manage.voximplant.com/auth. En el menú de la izquierda, haz clic en «Aplicaciones», luego en «Nueva aplicación» y crea una aplicación con el nombre storage. Entra en la nueva aplicación, cambia a la pestaña «Escenarios», para crear el escenario countingCalls con el siguiente código:

require(Modules.ApplicationStorage);

VoxEngine.addEventListener(AppEvents.CallAlerting, async (e) => {
let r = {value: -1};

    try {
        r = await ApplicationStorage.get('totalCalls');
        if (r === null) {
            r = await ApplicationStorage.put('totalCalls', 0);
        }
    } catch(e) {
        Logger.write('Error al obtener el valor de totalCalls');
    }

    try {
        await ApplicationStorage.put('totalCalls', (r.value | 0) + 1);
    } catch(e) {
        Logger.write('Error al actualizar el valor de totalCalls');
    }
    
    e.call.answer();
    e.call.say(`Bienvenido. Cantidad de llamadas anteriores: ${r.value}. `, Language.RU_RUSSIAN_MALE);

    e.call.addEventListener(CallEvents.PlaybackFinished, VoxEngine.terminate);

});

La primera línea conecta el módulo ApplicationStorage, mientras que la lógica restante se coloca en el manejador de eventos CallAlerting.

Primero declaramos una variable para poder comparar el valor inicial con el contador de llamadas. Luego intentamos obtener el valor de la clave totalCalls del almacenamiento. Si tal clave aún no existe, la creamos:

try {
    r = await ApplicationStorage.get('totalCalls');
    if (r === null) {
        r = await ApplicationStorage.put('totalCalls', 0);
    }
}

A continuación, es necesario aumentar el valor de la clave en el almacenamiento:

try {
        await ApplicationStorage.put('totalCalls', (r.value | 0) + 1);
    }

ATENCIÓN

Para cada promesa, es necesario especificar explícitamente el manejo de errores, como se muestra en el fragmento anterior; de lo contrario, la ejecución del script se detendrá y verás un error en los registros. Más detalles aquí.

Después de trabajar con el almacenamiento, el script responde a la llamada entrante con síntesis de voz y dice cuántas veces has llamado antes. Después de este mensaje, el script finaliza la sesión.

Después de guardar el script, ve a la pestaña 'Enrutamiento' de tu aplicación y haz clic en 'Nueva regla'. Nómbrala startCounting, especifica el script countingCalls y deja la máscara por defecto (.*).

Almacenamiento key-value, o cómo nuestras aplicaciones se volvieron más convenientes
Lo último es crear un usuario. Para esto, ve a 'Usuarios', haz clic en 'Crear usuario', especifica un nombre (por ejemplo, user1) y una contraseña, luego haz clic en 'Crear'. Esta pareja de nombre de usuario y contraseña será necesaria para la autenticación en el teléfono web.

Verificamos.

Abre el teléfono web a través del enlace phone.voximplant.com e inicia sesión usando el nombre de cuenta, el nombre de la aplicación y la pareja de nombre de usuario y contraseña del usuario de la aplicación. Después de un inicio de sesión exitoso, introduce cualquier conjunto de caracteres en el campo de entrada y presiona Llamar. Si todo se hizo correctamente, ¡escucharás un saludo sintetizado!

Te deseamos un excelente desarrollo en Voximplant y mantente atento a las noticias; ¡habrá muchas más 😉!

Fuente: habr.com

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster