Së bashku krijojmë Google Call Screening duke përdorur Voximplant dhe Dialogflow

Së bashku krijojmë Google Call Screening duke përdorur Voximplant dhe Dialogflow
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 gjysma e thirrjeve janĂ« spam, 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):
Së bashku krijojmë Google Call Screening duke përdorur Voximplant dhe Dialogflow
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ë akun tuaj Voximplant dhe krijoni një aplikacion të ri, për shembull, screening:

Së bashku krijojmë Google Call Screening duke përdorur Voximplant dhe Dialogflow
Hapni seksioni "Numrat" dhe blini një numër, i cili do të funksionojë si ndërmjetës:

Së bashku krijojmë Google Call Screening duke përdorur Voximplant dhe Dialogflow
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 Si tĂ« pĂ«rdorni Dialogflow Connector. 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Ă« marrim kĂ«tu.

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.

Së bashku krijojmë Google Call Screening duke përdorur Voximplant dhe Dialogflow
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.

Së bashku krijojmë Google Call Screening duke përdorur Voximplant dhe Dialogflow
NĂ«se ju nevojitet njĂ« agent pĂ«r shembull/testim, mund tĂ« merrni tonin nga kjo lidhje: github.com/aylarov/callscreening/tree/master/dialogflow. 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:
github.com/aylarov/callscreening/tree/master/nodejs

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 ngrok, fillojeni me komandën:

ngrok http 3000

Do 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ë merrni nga këtu.

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:

Luaj videon

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
Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster