Chi sviluppa su Voximplant conosce il concetto di "applicazioni", che collegano tra loro scenari cloud, numeri di telefono, utenti, regole e code di chiamata. In parole semplici, le applicazioni sono la pietra angolare dello sviluppo sulla nostra piattaforma, il punto di accesso a qualsiasi soluzione basata su Voximplant, poiché è da qui che ha inizio la creazione di un'applicazione.
In passato le applicazioni "non ricordavano" né le azioni svolte dagli scenari né i risultati dei calcoli, costringendo gli sviluppatori a salvare i valori su servizi esterni o sul proprio backend. Se hai mai lavorato con il local storage nel browser, la nostra nuova funzionalità è molto simile, in quanto consente alle applicazioni di memorizzare coppie "chiave-valore" uniche per ogni applicazione nel tuo account. Il funzionamento dell'archiviazione è reso possibile grazie al nuovo modulo – sotto il tag troverai una breve guida su come utilizzarlo, benvenuto!
Avrai bisogno di
- un account Voximplant. Se non ne hai uno, ;
- l'applicazione Voximplant, così come lo script, la regola e un utente. Creeremo tutto questo in questo tutorial;
- client web per effettuare chiamate – utilizzeremo il nostro web phone .
Impostazioni Voximplant
Prima effettua il login nel tuo account: . Nel menu a sinistra, fai clic su "Applicazioni", poi su "Nuova applicazione" e crea un'applicazione di nome storage. Accedi alla nuova applicazione, passa alla scheda "Script" per creare lo script countingCalls con il seguente codice:
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('Errore durante il recupero del valore totalCalls');
}
try {
await ApplicationStorage.put('totalCalls', (r.value | 0) + 1);
} catch(e) {
Logger.write('Errore durante l'aggiornamento del valore totalCalls');
}
e.call.answer();
e.call.say(`Benvenuto. Numero di chiamate precedenti: ${r.value}. `, Language.RU_RUSSIAN_MALE);
e.call.addEventListener(CallEvents.PlaybackFinished, VoxEngine.terminate);
});La prima riga importa il modulo ApplicationStorage, mentre la restante logica è collocata nel gestore dell'evento .
Iniziamo dichiarando la variabile per poter confrontare il valore iniziale con il contatore delle chiamate. Poi proviamo a ottenere il valore della chiave totalCalls dallo storage. Se questa chiave non esiste ancora, la creiamo:
try {
r = await ApplicationStorage.get('totalCalls');
if (r === null) {
r = await ApplicationStorage.put('totalCalls', 0);
}
}Successivamente, è necessario incrementare il valore della chiave nello storage:
try {
await ApplicationStorage.put('totalCalls', (r.value | 0) + 1);
}ATTENZIONE
Per ogni promessa è necessario gestire esplicitamente il rifiuto, come mostrato nel listing sopra – altrimenti l'esecuzione dello script si interromperà e nei log vedrete un errore. Maggiori dettagli .
Dopo aver lavorato con lo storage, lo script risponde alla chiamata in arrivo utilizzando la sintesi vocale e dice quante volte hai chiamato in precedenza. Dopo questo messaggio, lo script termina la sessione.
Dopo aver salvato lo script, vai alla scheda 'Routing' della tua applicazione e fai clic su 'Nuova regola'. Chiamala startCounting, specifica lo script countingCalls e lascia la maschera di default (.*).

L'ultimo passaggio è creare un utente. A tal fine, vai su «Utenti», clicca su «Crea utente», inserisci un nome (ad esempio, user1) e una password, quindi clicca su «Crea». Questa coppia di login e password ci servirà per l'autenticazione nel web phone.
Controlliamo
Apri il web phone al link e accedi utilizzando il nome dell'account, il nome dell'applicazione e la coppia di login e password dell'utente dall'applicazione. Dopo aver effettuato l'accesso con successo, inserisci qualsiasi combinazione di caratteri nel campo di input e premi Chiama. Se è stato fatto correttamente, sentirai un saluto sintetizzato!
Ti auguriamo un'eccellente esperienza di sviluppo su Voximplant e resta sintonizzato per ulteriori novità – ne avremo molte altre 😉
Fonte: habr.com
