Armazenamento de valor-chave ou como nossos aplicativos se tornaram mais convenientes

Armazenamento de valor-chave ou como nossos aplicativos se tornaram mais convenientes

Quem desenvolve no Voximplant conhece o conceito de "aplicativos" que conectam scripts em nuvem, números de telefone, usuários, regras e filas de chamadas entre si. Simplificando, os aplicativos são a base do desenvolvimento em nossa plataforma, o ponto de entrada para qualquer solução baseada em Voximplant, pois tudo começa com a criação de um aplicativo.

Anteriormente, os aplicativos não "lembravam" nem as ações executadas pelos scripts nem os resultados dos cálculos; portanto, os desenvolvedores eram forçados a armazenar valores em serviços de terceiros ou em seu back-end. Se você já trabalhou com armazenamento local em um navegador, nossa nova funcionalidade é muito semelhante a esta, porque. Permite que os aplicativos se lembrem de pares chave-valor que são exclusivos para cada aplicativo em sua conta. A operação de armazenamento tornou-se possível graças ao novo módulo Armazenamento de aplicativos - sob o corte você encontrará um pequeno guia de como usá-lo, seja bem-vindo!

Você vai precisar

  • Conta Voximplant. Se você não tem, então registro mora aqui;
  • o aplicativo Voximplant, bem como um script, uma regra e um único usuário. Vamos criar tudo isso neste tutorial;
  • cliente web para fazer uma chamada - use nosso webphone telefone.voximplant.com.

Configurações do Voximplant

Primeiro faça login na sua conta: gerencie.voximplant.com/auth. No menu à esquerda, clique em "Aplicativos", depois em "Novo Aplicativo" e crie um aplicativo chamado storage. Vá para o novo aplicativo, mude para a guia Scripts para criar um script countCalls com o seguinte 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('Failure while getting totalCalls value');
    }

    try {
        await ApplicationStorage.put('totalCalls', (r.value | 0) + 1);
    } catch(e) {
        Logger.write('Failure while updating totalCalls value');
    }
    
    e.call.answer();
    e.call.say(`Приветствую.  Количество прошлых звонков: ${r.value}. `, Language.RU_RUSSIAN_MALE);

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

});

A primeira linha conecta o módulo ApplicationStorage, o restante da lógica é colocado no manipulador de eventos alerta de chamada.

Primeiro, declaramos uma variável para que possamos comparar o valor inicial com a contagem de chamadas. Em seguida, tentamos obter o valor da chave totalCalls da loja. Se ainda não existe essa chave, então a criamos:

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

Em seguida, você precisa aumentar o valor da chave no armazenamento:

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

ATENÇÃO

Para cada promessa, você deve especificar explicitamente o failover, conforme mostrado na listagem acima - caso contrário, a execução do script será interrompida e você verá um erro nos logs. Detalhes aqui.

Depois de trabalhar com o repositório, o script atende a chamada recebida usando síntese de voz e informa quantas vezes você ligou antes. Após essa mensagem, o script encerra a sessão.

Depois de salvar o script, vá até a guia Roteamento do seu aplicativo e clique em Nova Regra. Nomeie-o startCounting, especifique o script countCalls e deixe a máscara padrão (.*).

Armazenamento de valor-chave ou como nossos aplicativos se tornaram mais convenientes
O último é criar um usuário. Para fazer isso, vá para "Usuários", clique em "Criar usuário", digite um nome (por exemplo, usuário1) e senha e clique em "Criar". Vamos precisar deste par login-senha para autenticação no webphone.

Verificar

Abra o webphone a partir do link telefone.voximplant.com e faça login usando o nome da conta, o nome do aplicativo e o par de nome de usuário/senha do aplicativo. Após um login bem-sucedido, insira qualquer conjunto de caracteres no campo de entrada e clique em Chamar. Se tudo foi feito corretamente, você ouvirá uma saudação sintetizada!

Desejamos a você um ótimo desenvolvimento na Voximplant e fique ligado - teremos muito mais 😉

Fonte: habr.com

Adicionar um comentário