Key-Value ストレージ、またはアプリケーションがどのように便利になったか

Key-Value ストレージ、またはアプリケーションがどのように便利になったか

Voximplant で開発している人なら誰でも、クラウド スクリプト、電話番号、ユーザー、ルール、通話キューを相互に接続する「アプリ」の概念について知っています。 簡単に言えば、アプリケーションの作成がすべての始まりであるため、アプリケーションは当社のプラットフォームでの開発の基礎であり、Voximplant ベースのソリューションへのエントリー ポイントです。

以前は、アプリケーションはスクリプトが実行したアクションも計算結果も「記憶」していなかったので、開発者は値をサードパーティのサービスまたはバックエンドに保存する必要がありました。 ブラウザーでローカル ストレージを使用したことがある場合は、新しい機能はこれと非常によく似ています。 アカウント内の各アプリに固有のキーと値のペアをアプリが記憶できるようにします。 新モジュールによりストレージの操作が可能になりました アプリケーションストレージ – カットの下には、その使用方法に関する短いガイドがあります。ようこそ!

あなたは必要になります

  • Voximplantアカウント。 お持ちでない場合は、 登録はここにあります;
  • Voximplant アプリケーション、スクリプト、ルール、および XNUMX 人のユーザー。 このチュートリアルではこれらすべてを作成します。
  • 電話をかけるための Web クライアント - 当社の Web 電話を使用してください 電話.voximplant.com.

Voximplant の設定

まず、アカウントにログインします。 manage.voximplant.com/auth。 左側のメニューで「アプリケーション」をクリックし、「新しいアプリケーション」をクリックして、storage というアプリケーションを作成します。 新しいアプリケーションに移動し、[スクリプト] タブに切り替えて、次のコードを使用して countingCalls スクリプトを作成します。

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

});

最初の行は ApplicationStorage モジュールに接続し、残りのロジックはイベント ハンドラーに配置されます。 コールアラート.

まず、初期値を呼び出しカウンターと比較できるように変数を宣言します。 次に、ストアから totalCalls キーの値を取得しようとします。 そのようなキーがまだ存在しない場合は、それを作成します。

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

次に、ストレージ内のキーの値を増やす必要があります。

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

ご注意

上記のリストに示すように、Promise ごとに失敗処理を明示的に指定する必要があります。指定しないと、スクリプトの実行が停止し、ログにエラーが表示されます。 詳細 ここで.

リポジトリを操作した後、スクリプトは音声合成を使用して着信に応答し、以前に電話した回数を通知します。 このメッセージの後、スクリプトはセッションを終了します。

スクリプトを保存したら、アプリケーションの [ルーティング] タブに移動し、[新しいルール] をクリックします。 startCounting という名前を付け、countingCalls スクリプトを指定し、デフォルトのマスク (.*) のままにします。

Key-Value ストレージ、またはアプリケーションがどのように便利になったか
最後にユーザーを作成します。 これを行うには、「ユーザー」に移動し、「ユーザーの作成」をクリックし、名前 (例: user1) とパスワードを指定して、「作成」をクリックします。 Web 電話での認証には、このログインとパスワードのペアが必要になります。

チェック中

リンクを使用してウェブ電話を開きます 電話.voximplant.com アプリケーションからアカウント名、アプリケーション名、ユーザー名とパスワードのペアを使用してログインします。 ログインに成功したら、入力フィールドに任意の文字セットを入力し、[通話] をクリックします。 すべてが正しく行われると、合成された挨拶が聞こえます。

Voximplant の素晴らしい発展をお祈りしており、さらなるニュースにご期待ください - もっとたくさんのニュースをお届けします 😉

出所: habr.com

コメントを追加します