Key-Value-Speicher oder wie unsere Anwendungen benutzerfreundlicher geworden sind

Key-Value-Speicher oder wie unsere Anwendungen benutzerfreundlicher geworden sind

Jeder, der mit Voximplant entwickelt, kennt das Konzept der "Anwendungen", die Cloud-Skripte, Telefonnummern, Benutzer, Regeln und Warteschlangen miteinander verbinden. Einfach gesagt, Anwendungen sind das Fundament der Entwicklung auf unserer Plattform, der Einstiegspunkt für jede auf Voximplant basierende Lösung, denn alles beginnt mit der Erstellung einer Anwendung.

Früher "merkten" sich Anwendungen weder die Aktionen, die die Skripte ausführten, noch die Berechnungsergebnisse, sodass Entwickler gezwungen waren, Werte in externen Diensten oder ihrem eigenen Backend zu speichern. Wenn Sie jemals mit local storage im Browser gearbeitet haben, ähnelt unsere neue Funktionalität stark dem, da sie es Anwendungen ermöglicht, "Schlüssel-Wert"-Paare zu speichern, die für jede Anwendung in Ihrem Konto einzigartig sind. Der Betrieb des Speichers wurde durch das neue Modul ermöglicht. ApplicationStorage – unter dem Link finden Sie eine kurze Anleitung zu seiner Verwendung. Herzlich willkommen!

Sie benötigen

  • ein Voximplant-Konto. Wenn Sie noch keines haben, registrieren Sie sich hier;
  • eine Voximplant-Anwendung sowie ein Skript, eine Regel und einen Benutzer. All dies werden wir in diesem Tutorial erstellen;
  • einen Web-Client, um einen Anruf zu tätigen – wir verwenden unser Webtelefon phone.voximplant.com.

Voximplant-Einstellungen

Melden Sie sich zunächst in Ihrem Konto an: manage.voximplant.com/auth. Klicken Sie im linken Menü auf "Anwendungen", dann auf "Neue Anwendung" und erstellen Sie eine Anwendung mit dem Namen storage. Gehen Sie zur neuen Anwendung, wechseln Sie zur Registerkarte "Skripte", um ein Skript countingCalls mit folgendem Code zu erstellen:

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('Fehler beim Abrufen des totalCalls-Werts');
    }

    try {
        await ApplicationStorage.put('totalCalls', (r.value | 0) + 1);
    } catch(e) {
        Logger.write('Fehler beim Aktualisieren des totalCalls-Werts');
    }
    
    e.call.answer();
    e.call.say(`Willkommen. Anzahl der bisherigen Anrufe: ${r.value}. `, Language.RU_RUSSIAN_MALE);

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

});

Die erste Zeile bindet das Modul ApplicationStorage ein, der restliche Code ist im Ereignishandler untergebracht. CallAlerting.

Zuerst deklarieren wir eine Variable, um den ursprünglichen Wert mit dem Anrufzähler vergleichen zu können. Dann versuchen wir, den Wert des Schlüssels totalCalls aus dem Speicher zu erhalten. Wenn ein solcher Schlüssel noch nicht existiert, erstellen wir ihn:

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

Als nächstes müssen wir den Wert des Schlüssels im Speicher erhöhen:

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

BITTE BEACHTEN

Für jedes Versprechen muss explizit eine Fehlerbehandlung angegeben werden, wie im obigen Listing gezeigt – andernfalls wird die Ausführung des Skripts gestoppt und Sie sehen einen Fehler in den Protokollen. Mehr Einzelheiten hier.

Nachdem das Skript mit dem Speicher gearbeitet hat, antwortet es auf den eingehenden Anruf mit Sprachsynthese und sagt, wie oft Sie zuvor angerufen haben. Nach dieser Nachricht beendet das Skript die Sitzung.

Nachdem Sie das Skript gespeichert haben, gehen Sie zum Tab "Routing" Ihrer Anwendung und klicken Sie auf "Neue Regel". Nennen Sie es startCounting, geben Sie das Skript countingCalls an und lassen Sie die Maske auf dem Standardwert (.*) stehen.

Key-Value-Speicher oder wie unsere Anwendungen benutzerfreundlicher geworden sind
Zuletzt – erstellen Sie einen Benutzer. Gehen Sie dazu zu "Benutzer", klicken Sie auf "Benutzer erstellen", geben Sie einen Namen (zum Beispiel user1) und ein Passwort an und klicken Sie dann auf "Erstellen". Dieses Benutzername-Passwort-Paar benötigen wir für die Authentifizierung im Webphone.

Überprüfen

Öffnen Sie das Webphone über den Link phone.voximplant.com und melden Sie sich an, indem Sie den Kontonamen, den Anwendungsnamen und das Benutzername-Passwort-Paar aus der Anwendung verwenden. Nach erfolgreichem Login geben Sie eine beliebige Zeichenkette in das Eingabefeld ein und klicken Sie auf Anruf. Wenn alles richtig gemacht wurde, hören Sie eine synthetisierte Begrüßung!

Wir wünschen Ihnen viel Erfolg bei der Entwicklung auf Voximplant und bleiben Sie dran – es gibt noch viele Neuigkeiten von uns 😉

Quelle: habr.com

60GB SSD 8Gb DDR4