Den, der udvikler pÄ Voximplant, kender til konceptet "applikationer", der forbinder cloud-scenarier, telefonnumre, brugere, regler og opkaldskÞer. For at sige det enkelt, er applikationer hjÞrnestenen i udviklingen pÄ vores platform, indgangspunktet for enhver Voximplant-baseret lÞsning, da alt begynder med oprettelsen af en applikation.
Tidligere "huske" applikationer hverken handlinger, som scenarier udfĂžrte, eller resultater af beregninger, sĂ„ udviklere var tvunget til at gemme vĂŠrdier i tredjepartstjenester eller pĂ„ deres egen backend. Hvis du nogensinde har arbejdet med local storage i din browser, sĂ„ er vores nye funktionalitet meget lig dette, da den giver applikationer mulighed for at gemme "nĂžgle-vĂŠrdi"-par, der er unikke for hver applikation i din konto. Arbejdet med opbevaringssystemet blev muligt takket vĂŠre den nye modul â under kan du finde en kort guide til, hvordan du bruger den, velkommen!
Du vil have brug for
- en Voximplant-konto. Hvis du ikke har en, sÄ ;
- en Voximplant-applikation, samt et scenarie, en regel og én bruger. Alt dette vil vi oprette i denne tutorial;
- en webklient for at foretage et opkald â vi vil bruge vores webtelefon .
Voximplant-indstillinger
Log fÞrst ind pÄ din konto: . I menuen til venstre skal du klikke pÄ "Applikationer", derefter "Ny applikation" og oprette en applikation ved navn storage. GÄ ind i den nye applikation, skift til fanen "Scenarier" for at skabe scenariet countingCalls med fÞlgende kode:
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('Fejl ved hentning af totalCalls vĂŠrdi');
}
try {
await ApplicationStorage.put('totalCalls', (r.value | 0) + 1);
} catch(e) {
Logger.write('Fejl ved opdatering af totalCalls vĂŠrdi');
}
e.call.answer();
e.call.say(`Hej. Antal tidligere opkald: ${r.value}. `, Language.RU_RUSSIAN_MALE);
e.call.addEventListener(CallEvents.PlaybackFinished, VoxEngine.terminate);
});Den fĂžrste linje tilslutter modulet ApplicationStorage, mens den Ăžvrige logik er placeret i begivenhedshandleren .
FÞrst erklÊrer vi en variabel, sÄ vi kan sammenligne startvÊrdien med antallet af opkald. Derefter forsÞger vi at fÄ vÊrdien af nÞglen totalCalls fra lageret. Hvis en sÄdan nÞgle ikke findes, opretter vi den:
try {
r = await ApplicationStorage.get('totalCalls');
if (r === null) {
r = await ApplicationStorage.put('totalCalls', 0);
}
}DernĂŠst skal vi Ăžge vĂŠrdien af nĂžglen i lageret:
try {
await ApplicationStorage.put('totalCalls', (r.value | 0) + 1);
}BEMĂRK
For hver promise er det nĂždvendigt at angive en fejlhĂ„ndtering, som vist i ovenstĂ„ende listning â ellers vil scriptets udfĂžrelse stoppe, og du vil se en fejl i loggene. Detaljer .
Efter arbejdet med lageret svarer scriptet pÄ det indgÄende opkald ved hjÊlp af talesyntese og fortÊller, hvor mange gange du har ringet fÞr. Efter denne meddelelse afslutter scriptet sessionen.
Efter at du har gemt scriptet, skal du gÄ til fanen "Routing" i din applikation og klikke pÄ "Nyt regel". Navngiv det startCounting, angiv scriptet countingCalls, og efterlad masken som standard (.*).

Det sidste â opret en bruger. GĂ„ til "Brugere", klik pĂ„ "Opret bruger", angiv et navn (for eksempel user1) og en adgangskode, og klik derefter pĂ„ "Opret". Dette login-adgangskodepar vil vi fĂ„ brug for til autentificering i webtelefonen.
Vi tjekker
à bn webtelefonen via linket og log ind med kontonavnet, applikationens navn og brugerens login-adgangskodepar fra applikationen. Efter den vellykkede login skal du indtaste en vilkÄrlig sekvens af tegn i inputfeltet og klikke pÄ Opkald. Hvis alt var gjort korrekt, vil du hÞre den syntetiserede hilsen!
Vi Ăžnsker dig en fantastisk udvikling pĂ„ Voximplant, og hold Ăžje med nyhederne â vi har meget mere pĂ„ vej đ
Kilde: habr.com
