Každý, kdo vyvíjí na Voximplant, ví o konceptu „aplikací“, které propojují cloudové scénáře, telefonní čísla, uživatele, pravidla a fronty hovorů. Jinými slovy, aplikace jsou základním kamenem vývoje na naší platformě, vstupním bodem do jakéhokoli řešení založeného na Voximplant, protože právě vytvořením aplikace vše začíná.
Dříve aplikace „nepamatovaly“ ani akce, které scénáře vykonávaly, ani výsledky výpočtů, takže vývojáři byli nuceni ukládat hodnoty ve třetích službách nebo na svém backendu. Pokud jste někdy pracovali s local storage v prohlížeči, naše nová funkce je velmi podobná, protože umožňuje aplikacím pamatovat si páry „klíč-hodnota“, které jsou jedinečné pro každou aplikaci ve vašem účtu. Funkčnost úložiště byla umožněna díky novému modulu – pod tímto odstavcem najdete stručného průvodce jeho použitím, vítejte!
Budete potřebovat
- účet Voximplant. Pokud ho ještě nemáte, ;
- aplikaci Voximplant, jakož i scénář, pravidlo a jednoho uživatele. To vše vytvoříme v tomto tutoriálu;
- webového klienta, abychom mohli uskutečnit hovor – použijeme náš webový telefon .
Nastavení Voximplant
Nejprve se přihlaste do svého účtu: . V levém menu klikněte na „Aplikace“, poté na „Nová aplikace“ a vytvořte aplikaci s názvem storage. Přejděte do nové aplikace, přepněte na kartu „Scénáře“, abyste vytvořili scénář countingCalls s tímto kódem:
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('Chyba při získávání hodnoty totalCalls');
}
try {
await ApplicationStorage.put('totalCalls', (r.value | 0) + 1);
} catch(e) {
Logger.write('Chyba při aktualizaci hodnoty totalCalls');
}
e.call.answer();
e.call.say(`Vítám vás. Počet předchozích hovorů: ${r.value}. `, Language.RU_RUSSIAN_MALE);
e.call.addEventListener(CallEvents.PlaybackFinished, VoxEngine.terminate);
});První řádek připojuje modul ApplicationStorage, zbytek logiky je umístěn v obslužné rutině události .
Nejprve deklarujeme proměnnou, abychom mohli porovnat počáteční hodnotu s počitadlem hovorů. Poté se pokusíme získat hodnotu klíče totalCalls ze skladu. Pokud takový klíč dosud neexistuje, vytvoříme ho:
try {
r = await ApplicationStorage.get('totalCalls');
if (r === null) {
r = await ApplicationStorage.put('totalCalls', 0);
}
}Dále je potřeba zvýšit hodnotu klíče ve skladu:
try {
await ApplicationStorage.put('totalCalls', (r.value | 0) + 1);
}POZOR
Pro každý příslib je nezbytné jasně uvést zpracování selhání, jak je uvedeno ve výše uvedeném seznamu – jinak se provádění skriptu zastaví a v logu uvidíte chybu. Podrobnosti .
Po práci se skladem skript odpovídá na příchozí hovor pomocí syntézy hlasu a říká, kolikrát jste volali předtím. Po této zprávě skript ukončí relaci.
Po uložení skriptu přejděte na záložku "Směrování" vaší aplikace a klikněte na "Nové pravidlo". Pojmenujte ho startCounting, zadejte skript countingCalls a nechte masku výchozí (.*).

Nakonec – vytvořte uživatele. K tomu přejděte na "Uživatelé", klikněte na "Vytvořit uživatele", zadejte jméno (například user1) a heslo, poté klikněte na "Vytvořit". Tato dvojice přihlašovacích údajů bude potřebná pro autentizaci ve webovém telefonu.
Kontrolujeme
Otevřete webový telefon na odkazu a přihlaste se pomocí názvu účtu, názvu aplikace a páru přihlašovacích údajů uživatele z aplikace. Po úspěšném přihlášení zadejte libovolnou posloupnost znaků do vstupního pole a klikněte na Call. Pokud bylo vše provedeno správně, uslyšíte syntetizovaný pozdrav!
Přejeme vám skvělé programování na Voximplant a sledujte novinky – máme jich ještě hodně 😉
Zdroj: habr.com
