任何在 Voximplant 上進行開發的人都知道“應用程序”的概念,它將雲腳本、電話號碼、用戶、規則和呼叫隊列相互連接。 簡而言之,應用程序是我們平台上開發的基石,是任何基於 Voximplant 的解決方案的入口點,因為這一切都始於應用程序的創建。
以前,應用程序既不“記住”腳本執行的操作,也不“記住”計算結果,因此開發人員被迫將值存儲在第三方服務或其後端中。 如果您曾經在瀏覽器中使用過本地存儲,那麼我們的新功能與此非常相似,因為。 允許應用程序記住您帳戶中每個應用程序所特有的鍵值對。 新模塊使存儲操作成為可能
你需要
- Voximplant 帳戶。 如果你沒有的話
註冊就在這裡 ; - Voximplant 應用程序,以及腳本、規則和單個用戶。 我們將在本教程中創建所有這些;
- 網絡客戶端撥打電話 - 使用我們的網絡電話
電話.voximplant.com .
Voximplant 設置
首先登錄您的帳戶:
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 腳本,並保留默認掩碼(.*)。
最後一步是創建用戶。 為此,請轉到“用戶”,單擊“創建用戶”,輸入名稱(例如 user1)和密碼,然後單擊“創建”。 我們需要此登錄密碼對在網絡電話中進行身份驗證。
檢查
從鏈接打開網絡電話
我們祝愿您在 Voximplant 取得巨大發展,敬請期待 - 我們還會有更多 😉
來源: www.habr.com