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



Qualquer pessoa que desenvolva no Voximplant conhece o conceito de "aplicativos" que conectam cenários de nuvem, números de telefone, usuários, regras e filas de chamadas entre si. Simplificando, os aplicativos são a pedra angular do desenvolvimento de nossa plataforma, o ponto de entrada para qualquer solução baseada em Voximplant, pois é a partir da criação do aplicativo que tudo começa.

Anteriormente, os aplicativos "não se lembravam" nem das ações executadas pelos scripts nem dos resultados dos cálculos; portanto, os desenvolvedores eram forçados a salvar valores em serviços de terceiros ou no back-end. Se você já trabalhou com armazenamento local em um navegador, nossa nova funcionalidade é muito semelhante a isso, porque Permite que os aplicativos lembrem pares de valores-chave exclusivos para cada aplicativo em sua conta. A operação de armazenamento foi possível graças ao novo módulo ApplicationStorage - sob o gato, você encontrará um breve guia de uso, bem-vindo!

Você vai precisar


  • Conta Voximplant. Se você não o possui, o registro fica aqui ;
  • Aplicativo Voximplant, bem como um script, uma regra e um único usuário. Vamos criar tudo isso neste tutorial;
  • cliente da Web para fazer uma ligação - use nosso telefone celular phone.voximplant.com.

Configurações de Voximplant


Primeiro, faça login na sua conta: manage.voximplant.com/auth . No menu esquerdo, clique em "Aplicativos", depois em "Novo aplicativo" e crie um aplicativo chamado armazenamento. Vá para o novo aplicativo, alterne para a guia Scripts para criar um script countingCalls com este 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('    totalCalls'); } try { await ApplicationStorage.put('totalCalls', (r.value | 0) + 1); } catch(e) { Logger.write('    totalCalls'); } 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 é colocada no manipulador de eventos CallAlerting .

Primeiro, declaramos uma variável para podermos comparar o valor inicial com o contador de chamadas. Em seguida, tentamos obter o valor da chave totalCalls da loja. Se ainda não existe essa chave, nós 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 repositório:

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

PRESTE ATENÇÃO

Para cada promessa, é necessário indicar explicitamente o processamento da falha, conforme mostrado na listagem acima - caso contrário, o script será interrompido e você verá um erro nos logs. Detalhes aqui .
Depois de trabalhar com o repositório, o script atende a chamada de entrada usando síntese de voz e diz quantas vezes você ligou antes. Após esta mensagem, o script termina a sessão.

Depois de salvar o script, vá para a guia "Roteamento" do seu aplicativo e clique em "Nova regra". Nomeie startCounting, especifique o script countingCalls e deixe a máscara padrão (. *).


O último é criar um usuário. Para fazer isso, vá para "Usuários", clique em "Criar usuário", especifique um nome (por exemplo, usuário1) e senha e clique em "Criar". Vamos precisar desse par de nome de usuário / senha para autenticação no webphone.

Verifique


Abra o telefone na web em phone.voximplant.com e faça login usando o nome da conta, o nome do aplicativo e um par de nome de usuário e senha no aplicativo. Após o login bem-sucedido, digite qualquer conjunto de caracteres no campo de entrada e pressione Ligar. Se tudo foi feito corretamente, você ouvirá uma saudação sintetizada!

Desejamos a você excelente desenvolvimento no Voximplant e fique atento - teremos muito mais;)

Source: https://habr.com/ru/post/pt476452/


All Articles