Ndoshta keni dĂ«gjuar ose lexuar rreth funksionit Call Screening, tĂ« cilin Google e ka lançuar pĂ«r telefonat e tij Pixel nĂ« SHBA. Ideja Ă«shtĂ« e shkĂ«lqyer â kur merrni njĂ« thirrje nĂ« hyrje, asistenti virtual fillon tĂ« bisedojĂ«, ndĂ«rsa ju shihni kĂ«tĂ« bisedĂ« nĂ« formĂ«n e njĂ« bisedĂ« direkte dhe nĂ« çdo moment mund tĂ« filloni tĂ« flisni nĂ« vend tĂ« asistentes. Kjo Ă«shtĂ« shumĂ« e dobishme nĂ« ditĂ«t e sotme, kur pothuajse , por megjithatĂ« nuk dĂ«shironi tĂ« humbni thirrje tĂ« rĂ«ndĂ«sishme nga ndonjĂ« person qĂ« nuk Ă«shtĂ« nĂ« listĂ«n tuaj tĂ« kontakteve. I vetmi pengesĂ« Ă«shtĂ« se kjo funksionalitet Ă«shtĂ« e disponueshme vetĂ«m nĂ« telefonin Pixel dhe vetĂ«m nĂ« SHBA. Pra, pengesat ekzistojnĂ« pĂ«r t'u kapĂ«rcyer, apo jo? Prandaj, ne vendosĂ«m tĂ« tregojmĂ« se si tĂ« realizoni njĂ« zgjidhje tĂ« ngjashme, duke pĂ«rdorur Voximplant dhe Dialogflow. Ju lutem, shihni mĂ« poshtĂ«.
Arkitektura
Propozoj që të mos humbasim kohë me shpjegime se si funksionojnë Voximplant dhe Dialogflow; nëse dëshironi, mund ta gjeni lehtësisht informacionin në internet. Pra, le të njohim konceptin e Call Screening tonë.
Supozoni se keni njĂ« numĂ«r telefoni qĂ« e pĂ«rdorni çdo ditĂ« dhe ku merrni thirrje tĂ« rĂ«ndĂ«sishme. NĂ« kĂ«tĂ« rast, do tĂ« na nevojitet njĂ« numĂ«r i dytĂ«, i cili do tĂ« shfaqet gjithandej â nĂ« e-mail, nĂ« kartĂ«n e vizitĂ«s, kur plotĂ«soni formularĂ« online, etj. Ky numĂ«r do tĂ« lidhet me sistemin e pĂ«rpunimit tĂ« gjuhĂ«s natyrore (nĂ« rastin tonĂ«, Dialogflow) dhe do tĂ« pĂ«rcaktojĂ« thirrjet nĂ« numrin tuaj kryesor, vetĂ«m nĂ«se ju dĂ«shironi. NĂ« formĂ«n e njĂ« skeme, kjo duket kĂ«shtu (imagem Ă«shtĂ« e klikueshme):
Duke kuptuar arkitekturën, mund të fillojmë zbatimin, por me një kusht: nuk do të bëjmë aplikacion mobil për të treguar dialogun ndërmjet Dialogflow dhe abonentit që thërret, do të krijojmë një aplikacion të thjeshtë web-aplikacion me renderimin e dialogut, për të ilustruar qartë parimin e punës së Call Screening. Në këtë aplikacion do të ketë një buton Intervene, me një klikim të të cilit Voximplant do të lidhë abonentin që thërret me abonentin e thirrur, nëse ky i fundit ka vendosur të flasë vetë.
Realizimi
Hyni në dhe krijoni një aplikacion të ri, për shembull, screening:

Hapni dhe blini një numër që do të funksionojë si ndërmjetës:

Më pas, shkoni në aplikacionin screening, në seksionin «Numra», nën-tabën «Të Disponueshëm». Këtu do të shihni numrin që sapo bleni. Lidheni atë me aplikacionin duke klikuar në butonin «Prikë» - në dritaren që hapet, lini të gjitha vlerat siç janë dhe klikoni «Prikë».
Ndërsa jeni brenda aplikacionit, kaloni në tab-in «Skenarë» dhe krijoni një skenar myscreening - në të ne do të përdorim kodin nga artikulli . Në këtë rast, kodi do të ndryshojë pak, sepse na nevojitet të «shohim» dialogun midis telefonuesit dhe ndihmësit; të gjithë kodin mund të .
KĂSHILLIM: do t'ju duhet tĂ« ndryshoni vlerĂ«n e variables server nĂ« emrin e serverit tuaj ngrok (detaje mbi ngrok do tĂ« jenĂ« pak mĂ« poshtĂ«). Gjithashtu, ndĂ«rtoni vlerat tuaja nĂ« rreshtin 31, ku numri juaj i telefonit - Ă«shtĂ« numri juaj kryesor (pĂ«r shembull, numri juaj personal mobil), dhe numri voximplant - numri qĂ« sapo keni blerĂ«.
outbound_call = VoxEngine.callPSTN(âNUMRI JUAJ I TELEFONITâ, âNUMRI VOXIMPLANTâ)Thirrja callPSTN do tĂ« ndodhi nĂ« momentin qĂ« tĂ« vendosni tĂ« ndĂ«rhyni nĂ« bisedĂ« dhe tĂ« flisni personalisht me abonentin qĂ« po thĂ«rret.
Pasi qĂ« ta ruani skenarin, ju duhet ta lidhni atĂ« me numrin e blerĂ«. PĂ«r kĂ«tĂ«, ende brenda aplikacionit tuaj, shkoni nĂ« skedĂ«n âRoutimiâ pĂ«r tĂ« krijuar njĂ« rregull tĂ« ri â butoni âRregull i riâ nĂ« kĂ«ndin e sipĂ«rm tĂ« djathtĂ«. Specifikoni emrin (p.sh., allcalls), lĂ«reni maskĂ«n e paracaktuar (.* â qĂ« do tĂ« thotĂ« se tĂ« gjitha thirrjet e ardhshme do tĂ« trajtohen nga skenaret e zgjedhura pĂ«r kĂ«tĂ« rregull) dhe specifikoni skenarin myscreening.

Ruani rregullin.
Nga tani e tutje, numri i telefonit Ă«shtĂ« i lidhur me skenarin. E fundit qĂ« duhet tĂ« bĂ«ni Ă«shtĂ« tĂ« lidhni botin me aplikacionin. PĂ«r kĂ«tĂ«, shkoni nĂ« skedĂ«n âDialogflow-konektorâ, klikoni butonin âShto agjentin Dialogflowâ nĂ« kĂ«ndin e sipĂ«rm tĂ« djathtĂ« dhe ngarkoni skedarin JSON tĂ« agjentit tuaj Dialogflow.

NĂ«se ju nevojitet njĂ« agent pĂ«r shembull/testim, mund tĂ« merrni agjentit tonĂ« pĂ«rmes kĂ«tij linku: . Thjesht mos kĂ«rkoni shumĂ« prej tij, Ă«shtĂ« vetĂ«m njĂ« shembull qĂ« ju jeni tĂ« lirĂ« ta ripĂ«rpunoni si tĂ« doni dhe me guxim tĂ« ndani rezultatet đ
Backend i thjeshtë në NodeJS
Le të zhvillojmë një backend të thjeshtë në Node, për shembull, një të tillë:
Ky është një aplikacion i zakonshëm që kërkon vetëm dy komanda për t'u nisur:
npm install
node index.js
Serveri do të fillojë në portin 3000 të makinës tuaj, prandaj për ta lidhur atë me cloud-in Voximplant, ne përdorim utilitarin ngrok. Kur ta keni instaluar , fillojeni me komandën:
ngrok http 3000Do tĂ« shihni njĂ« emĂ«r domaini qĂ« ngrok e ka gjeneruar pĂ«r serverin tuaj lokal â kopjoni atĂ« dhe vendoseni nĂ« variablin server.
Klienti
Aplikacioni klient duket si një bisedë e thjeshtë, e cila mund ta.
Thjesht kopjoni të gjitha skedarët në një direktori në serverin tuaj web dhe do të funksionojë. Në skedarin script.js, zëvendësoni vlerën e variablit server me emrin e domain-it ngrok, dhe vlerën e variablit callee me numrin që keni blerë. Ruani skedarin dhe nisni aplikacionin në shfletues. Nëse gjithçka është në rregull, do të shihni lidhjen WebSocket në panelet e zhvilluesit.
Demo
Të shihni aplikacionin në veprim mund të shihni në këtë video:

P. S. NĂ«se shtypni butonin Intervene, atĂ«herĂ« telefoni do tĂ« drejtohet nĂ« numrin tim, dhe nĂ«se shtypni Disconnect â atĂ«herĂ« do tĂ«...? SaktĂ«, thirrja do tĂ« ndĂ«rpritet.
Burimi: habr.com
