Ndoshta keni dĂ«gjuar ose lexuar pĂ«r funksionin Call Screening, tĂ« cilin Google e lançoi pĂ«r telefonat e tij Pixel nĂ« SHBA. Ideja Ă«shtĂ« e shkĂ«lqyer â kur merrni njĂ« thirrje hyrĂ«se, asistenti virtual fillon tĂ« bisedojĂ«, ndĂ«rsa ju shihni kĂ«tĂ« bisedĂ« nĂ« formĂ« chat-i dhe nĂ« çdo moment mund tĂ« filloni tĂ« flisni nĂ« vend tĂ« asistentit. Kjo Ă«shtĂ« shumĂ« e dobishme nĂ« ditĂ«t e sotme, kur pothuajse , por nĂ« tĂ« njĂ«jtĂ«n kohĂ« nuk dĂ«shironi tĂ« humbni thirrjet e rĂ«ndĂ«sishme nga ndonjĂ« person qĂ« nuk Ă«shtĂ« nĂ« listĂ«n tuaj tĂ« kontakteve. E vetmja pengesĂ« Ă«shtĂ« se kjo funksionalitet Ă«shtĂ« i disponueshĂ«m vetĂ«m nĂ« telefonat Pixel dhe vetĂ«m nĂ« SHBA. AtĂ«herĂ«, pengesat ekzistojnĂ« pĂ«r t'u kapĂ«rcyer, apo jo? Prandaj, ne vendosĂ«m tĂ« tregojmĂ« se si tĂ« bĂ«ni njĂ« zgjidhje tĂ« ngjashme, duke pĂ«rdorur Voximplant dhe Dialogflow. Po ashtu, ju lutem vazhdoni.
Arkitektura
Propozoj të mos e humbim kohën në shpjegime se si funksionojnë Voximplant dhe Dialogflow, nëse dëshironi me lehtësi mund të gjeni informacione në internet. Pra, le të njihemi me konceptin e Call Screening.
Supozoni se tashmĂ« keni njĂ« numĂ«r telefoni qĂ« e pĂ«rdorni çdo ditĂ« dhe mbi tĂ« cilin merrni thirrje tĂ« rĂ«ndĂ«sishme. NĂ« kĂ«tĂ« rast, na nevojitet njĂ« numĂ«r tjetĂ«r, i cili do tĂ« pĂ«rmendet kudo â nĂ« email, nĂ« kartvizitĂ«, kur plotĂ«soni forma online etj. Ky numĂ«r do tĂ« lidhet me sistemin e pĂ«rpunimit tĂ« gjuhĂ«s natyrore (nĂ« rastin tonĂ«, Ă«shtĂ« Dialogflow) dhe do tĂ« qĂ«ndrojĂ« nĂ« thirrje pĂ«r tĂ« kaluar nĂ« numrin tuaj kryesor, vetĂ«m nĂ«se dĂ«shironi. NĂ« formĂ«n e njĂ« skeme, kjo duket kĂ«shtu (imazhi Ă«shtĂ« klikues):
Duke kuptuar arkitekturën, mund të fillojmë me implementimin, por me një kusht: ne nuk do të bëjmë një aplikacion mobil për të treguar dialogun midis Dialogflow dhe abonentit që thërret, do të krijojmë një aplikacion të thjeshtë web-aplikacion me renditjen e dialogut, për të ilustruar qartë parimin e funksionit Call Screening. Në këtë aplikacion do të ketë një buton Intervene, ku me një klikim Voximplant do të lidhë abonentin që thërret me abonentin e telefonuar, nëse i dyti ka vendosur të flasë vetë.
Implementimi
Hyni në dhe krijoni një aplikacion të ri, për shembull, screening:

Hapni dhe blini një numër, i cili do të funksionojë si ndërmjetës:

MĂ« pas, hyni nĂ« aplikacionin screening, nĂ« seksionin «Numrat», skeda «TĂ« DisponueshĂ«m». KĂ«tu do tĂ« shihni numrin e blerĂ« sapo. Lidhni atĂ« me aplikacionin duke pĂ«rdorur butonin «Lidhni» â nĂ« dritaren qĂ« shfaqet, lĂ«reni gjithçka si parazgjedhje dhe klikoni «Lidhni».
Duke u ndodhur brenda aplikacionit, kaloni nĂ« skedĂ«n «SkenarĂ«t» dhe krijoni skenar myscreening â nĂ« tĂ« ne do tĂ« pĂ«rdorim kodin nga artikulli . NĂ« tĂ« njĂ«jtĂ«n kohĂ«, kodi do tĂ« ndryshohet pak, sepse na nevojitet tĂ« «shohim» dialogun midis telefonuesit dhe asistentit; tĂ«rĂ« kodi mund tĂ« .
KUJDES: do t'ju duhet të ndryshoni vlerën e variablës server në emrin e serverit tuaj ngrok (detajet rreth ngrok do të jenë pak më poshtë). Gjithashtu, vendosni vlerat tuaja në rreshtin 31, ku numri juaj të telefonit është numri juaj kryesor (p.sh., telefoni juaj personal), ndërsa numri voximplant është numri që sapo keni blerë.
outbound_call = VoxEngine.callPSTN(âNUMRI JUAJ I TELEFONITâ, âNUMRI VOXIMPLANTâ)Thirrja callPSTN do tĂ« ndodhi nĂ« momentin kur ju vendosni tĂ« ndĂ«rhyni nĂ« bisedĂ« dhe tĂ« diskoni personalisht me abonentin e ardhshĂ«m.
Pasi tĂ« ruani skenarin, duhet ta lidhni atĂ« me numrin e blerĂ«. PĂ«r kĂ«tĂ«, duke qenĂ« ende brenda aplikacionit tuaj, kaloni 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 si parazgjedhje (.* â qĂ« do tĂ« thotĂ« se tĂ« gjitha thirrjet e ardhshme do tĂ« trajtohen nga skenarĂ«t e zgjedhur pĂ«r kĂ«tĂ« rregull) dhe specifikoni skenarin myscreening.

Ruani rregullin.
Nga tani 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ë, kaloni në skedën «Dialogflow-connector», 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 tonin nga kjo lidhje: . VetĂ«m mos kĂ«rkoni shumĂ« prej tij, ky Ă«shtĂ« vetĂ«m njĂ« shembull qĂ« mund ta rregulloni sipas dĂ«shirĂ«s dhe tĂ« ndani rezultatet me guxim đ
Një backend i thjeshtë në NodeJS
Le të zhvillojmë një backend të thjeshtë në node, për shembull, kështu:
Ky është një aplikacion i zakonshëm, i cili kërkon vetëm dy komanda për ta nisur:
npm install
node index.js
Serveri do të fillojë në portin 3000 të makinës tuaj, kështu që për ta lidhur atë me cloud-in Voximplant, ne përdorim utilitarin ngrok. Kur ta instaloni , fillojeni me komandën:
ngrok http 3000Do tĂ« shihni emrin e domenit qĂ« ngrok e ka gjeneruar pĂ«r serverin tuaj lokal â kopjoni atĂ« dhe vendoseni nĂ« variablĂ«n server.
KÎ»ÎŻÎżÏ ent
Aplikacioni klient duket si një bisedë e thjeshtë që mund të.
Thjesht kopjoni tĂ« gjitha skedarĂ«t nĂ« ndonjĂ« direktori nĂ« serverin tuaj tĂ« internetit dhe do tĂ« funksionojĂ«. NĂ« skedarin script.js zĂ«vendĂ«soni vlerĂ«n e variablĂ«s server me emrin e domenit ngrok, dhe vlerĂ«n e variablĂ«s callee â me numrin qĂ« keni blerĂ«. Ruani skedarin dhe filloni aplikacionin nĂ« shfletues. NĂ«se gjithçka Ă«shtĂ« nĂ« rregull, do tĂ« shihni njĂ« lidhje WebSocket nĂ« panelin e zhvilluesit.
Demo
Këtu mund ta shihni aplikacionin në veprim në këtë video:

P. S. NĂ«se klikoni nĂ« butonin Intervene, ata qĂ« telefonojnĂ« do tĂ« drejtohen te numri im tĂ« telefonit, dhe nĂ«se klikoni nĂ« Disconnect â do tĂ«âŠ? SaktĂ«, lidhja do tĂ« ndĂ«rpritet.
Burimi: habr.com
