Archiviazione key-value, o come le nostre applicazioni sono diventate più comode

Archiviazione key-value, o come le nostre applicazioni sono diventate più comode

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 ApplicationStorage – sotto il tag troverai una breve guida su come utilizzarlo, benvenuto!

Avrai bisogno di

  • un account Voximplant. Se non ne hai uno, la registrazione è disponibile qui;
  • 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 phone.voximplant.com.

Impostazioni Voximplant

Prima effettua il login nel tuo account: manage.voximplant.com/auth. 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 CallAlerting.

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 qui.

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 (.*).

Archiviazione key-value, o come le nostre applicazioni sono diventate più comode
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 phone.voximplant.com 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

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster