Przechowywanie klucz-wartość, czyli jak nasze aplikacje stały się wygodniejsze

Przechowywanie klucz-wartość, czyli jak nasze aplikacje stały się wygodniejsze

Każdy, kto tworzy na Voximplant, zna koncepcję „aplikacji”, które łączą ze sobą skrypty w chmurze, numery telefonów, użytkowników, reguły i kolejki połączeń. Mówiąc najprościej, aplikacje są podstawą rozwoju na naszej platformie, punktem wejścia do każdego rozwiązania opartego na Voximplant, ponieważ wszystko zaczyna się od tworzenia aplikacji.

Wcześniej aplikacje nie „pamiętały” ani akcji wykonywanych przez skrypty, ani wyników obliczeń, więc programiści byli zmuszeni do przechowywania wartości w usługach stron trzecich lub na swoim backendzie. Jeśli kiedykolwiek pracowałeś z lokalną pamięcią masową w przeglądarce, nasza nowa funkcjonalność jest dość podobna do tej, ponieważ... Umożliwia aplikacjom zapamiętywanie par klucz-wartość, które są unikalne dla każdej aplikacji na Twoim koncie. Obsługa magazynu stała się możliwa dzięki nowemu modułowi Przechowywanie aplikacji – pod krojem znajdziesz krótką instrukcję jak go używać, zapraszamy!

Będziesz potrzebować

  • Konto Voximplant. Jeśli go nie masz, to rejestracja mieszka tutaj;
  • Aplikacja Voximplant, a także skrypt, reguła i jeden użytkownik. Wszystko to stworzymy w tym samouczku;
  • klient sieciowy, aby wykonać połączenie - skorzystaj z naszego telefonu internetowego telefon.voximplant.com.

Ustawienia Voximplantu

Najpierw zaloguj się na swoje konto: zarządzaj.voximplant.com/auth. W menu po lewej stronie kliknij „Aplikacje”, następnie „Nowa aplikacja” i utwórz aplikację o nazwie Storage. Przejdź do nowej aplikacji, przejdź do zakładki Skrypty i utwórz skrypt countingCalls o następującym kodzie:

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);

});

Pierwsza linia łączy moduł ApplicationStorage, reszta logiki umieszczona jest w procedurze obsługi zdarzeń Alarmowanie połączeń.

Najpierw deklarujemy zmienną, abyśmy mogli porównać wartość początkową z licznikiem wywołań. Następnie staramy się pobrać ze sklepu wartość klucza totalCalls. Jeżeli taki klucz jeszcze nie istnieje to tworzymy go:

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

Następnie musisz zwiększyć wartość klucza w pamięci:

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

UWAGA

Dla każdej obietnicy musisz jawnie określić obsługę awarii, jak pokazano na powyższej liście - w przeciwnym razie skrypt przestanie działać, a w dziennikach pojawi się błąd. Detale tutaj.

Po pracy z repozytorium skrypt odbiera połączenie przychodzące za pomocą syntezy głosu i informuje, ile razy wcześniej dzwoniłeś. Po tym komunikacie skrypt kończy sesję.

Po zapisaniu skryptu przejdź do zakładki Routing w swojej aplikacji i kliknij Nowa reguła. Nazwij to startCounting, określ skrypt countingCalls i pozostaw maskę domyślną (.*).

Przechowywanie klucz-wartość, czyli jak nasze aplikacje stały się wygodniejsze
Ostatnią rzeczą jest utworzenie użytkownika. Aby to zrobić, przejdź do „Użytkownicy”, kliknij „Utwórz użytkownika”, podaj nazwę (na przykład użytkownik1) i hasło, a następnie kliknij „Utwórz”. Będziemy potrzebować tej pary login-hasło do uwierzytelnienia w telefonie internetowym.

Kontrola

Otwórz telefon internetowy, korzystając z łącza telefon.voximplant.com i zaloguj się, używając nazwy konta, nazwy aplikacji i pary nazwa użytkownika-hasło z aplikacji. Po pomyślnym zalogowaniu wpisz dowolny zestaw znaków w polu tekstowym i kliknij Zadzwoń. Jeśli wszystko zostało wykonane poprawnie, usłyszysz syntetyczne powitanie!

Życzymy wspaniałego rozwoju Voximplant i czekajcie na kolejne wieści - będziemy mieli ich dużo więcej 😉

Źródło: www.habr.com

Dodaj komentarz