Cine dezvoltă pe Voximplant cunoaște conceptul de „aplicații”, care leagă între ele scenariile cloud, numerele de telefon, utilizatorii, regulile și cozile de apeluri. Pe scurt, aplicațiile sunt piatra de temelie a dezvoltării pe platforma noastră, punctul de plecare pentru orice soluție bazată pe Voximplant, deoarece totul începe cu crearea unei aplicații.
Anterior, aplicațiile „nu își aminteau” acțiunile pe care le execută scenariile sau rezultatele calculelor, așa că dezvoltatorii erau nevoiți să salveze valorile în servicii externe sau pe backend-ul lor. Dacă ați lucrat vreodată cu stocarea locală în browser, noua noastră funcționalitate este destul de similară, deoarece permite aplicațiilor să memoreze perechi „cheie-valoare” care sunt unice pentru fiecare aplicație din contul dvs. Funcționarea stocării a devenit posibilă datorită noului modul – mai jos veți găsi un ghid scurt de utilizare, bun venit!
Veți avea nevoie de
- un cont Voximplant. Dacă nu aveți unul, atunci ;
- o aplicație Voximplant, precum și un scenariu, o regulă și un utilizator. Toate acestea le vom crea în acest tutorial;
- un client web pentru a efectua un apel – vom folosi telefonul nostru web .
Setările Voximplant
Mai întâi, conectați-vă la contul dvs.: . În meniul din stânga, faceți clic pe „Aplicații”, apoi pe „Aplicație nouă” și creați o aplicație cu numele storage. Accesați noua aplicație, comutați pe fila „Scenarii” pentru a crea un scenariu countingCalls cu următorul cod:
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('Eșec la obținerea valorii totalCalls');
}
try {
await ApplicationStorage.put('totalCalls', (r.value | 0) + 1);
} catch(e) {
Logger.write('Eșec la actualizarea valorii totalCalls');
}
e.call.answer();
e.call.say(`Bine ați venit. Numărul apelurilor anterioare: ${r.value}. `, Language.RO_ROMAN);
e.call.addEventListener(CallEvents.PlaybackFinished, VoxEngine.terminate);
});Prima linie conectează modulul ApplicationStorage, restul logicii fiind plasată în handlerul evenimentului .
În primul rând, declarăm o variabilă pentru a putea compara valoarea inițială cu contorul apelurilor. Apoi, încercăm să obținem valoarea cheii totalCalls din stocare. Dacă această cheie nu există, o creăm:
try {
r = await ApplicationStorage.get('totalCalls');
if (r === null) {
r = await ApplicationStorage.put('totalCalls', 0);
}
}Apoi este necesar să creștem valoarea cheii în stocare:
try {
await ApplicationStorage.put('totalCalls', (r.value | 0) + 1);
}ATENȚIE
Pentru fiecare promisiune, este necesar să specificați în mod explicit gestionarea eșecurilor, așa cum este arătat în listingul de mai sus – altfel, execuția scriptului va fi oprită, iar în loguri veți vedea o eroare. Detalii .
După ce lucrăm cu stocarea, scriptul răspunde la apelul telefonic de intrare prin sinteză vocală și spune de câte ori ați apelat până acum. După acest mesaj, scriptul finalizează sesiunea.
După ce ați salvat scriptul, accesați tab-ul „Rutare” al aplicației dvs. și faceți clic pe „Regulă nouă”. Numiți-o startCounting, specificați scriptul countingCalls și lăsați masca implicită (.*).

Ultimul pas – crearea utilizatorului. Pentru aceasta, accesați „Utilizatori”, faceți clic pe „Creare utilizator”, specificați un nume (de exemplu, user1) și o parolă, apoi faceți clic pe „Creare”. Această pereche login-parolă va fi necesară pentru autentificarea în webphone.
Verificăm
Deschideți webphone-ul la linkul și conectați-vă, folosind numele contului, numele aplicației și perechea login-parolă a utilizatorului din aplicație. După ce ați reușit să vă conectați, introduceți orice set de caractere în câmpul de intrare și faceți clic pe Apel. Dacă totul a fost făcut corect, veți auzi un mesaj de întâmpinare sintetizat!
Vă dorim o dezvoltare excelentă pe Voximplant și rămâneți la curent cu noutățile – vor fi multe 😉
Sursa: habr.com
