Nagħmlu l-Google Call Screening tagħna stess ibbażat fuq Voximplant u Dialogflow

Nagħmlu l-Google Call Screening tagħna stess ibbażat fuq Voximplant u Dialogflow
Jista' jkun li smajt jew qrajt dwar il-karatteristika tal-Iscreening tas-Sejħiet li Google ħarġet għat-telefowns Pixel tagħha fl-Istati Uniti. L-idea hija kbira - meta tirċievi telefonata deħlin, l-assistent virtwali jibda jitkellem, filwaqt li tara din il-konversazzjoni bħala chat u f'kull ħin tista' tibda titkellem minflok l-assistent. Dan huwa utli ħafna f'dawn il-jiem, meta kważi nofs is-sejħiet huma spam, imma ma tridx titlef sejħiet importanti minn xi ħadd li mhux fil-lista ta' kuntatti tiegħek. L-unika qabda hija li din il-funzjonalità hija disponibbli biss fuq it-telefon Pixel u biss fl-Istati Uniti. Ukoll, l-ostakli hemm biex jingħelbu, hux? Għalhekk, iddeċidejna li ngħidulek kif tagħmel soluzzjoni simili billi tuża Voximplant u Dialogflow. Jekk jogħġbok taħt qattus.

arkitettura

Nissuġġerixxi li ma taħlix ħin tispjega kif jaħdmu Voximplant u Dialogflow, jekk tixtieq, tista' faċilment issib informazzjoni fuq l-Internet. Mela ejja niffamiljarizzaw ruħhom mal-kunċett stess tal-Iscreening tas-Sejħiet tagħna.

Ejja ngħidu li diġà għandek numru tat-telefon li tuża kuljum li tirċievi telefonati importanti fuqu. F'dan il-każ, ikollna bżonn it-tieni numru, li jkun indikat kullimkien - fil-posta, fuq karta tan-negozju, meta timla formoli onlajn, eċċ. Dan in-numru se jgħaqqad ma 'sistema ta' pproċessar tal-lingwa naturali (dialogflow fil-każ tagħna) u jgħaddi sejħiet lin-numru prinċipali tiegħek biss jekk trid. Fil-forma ta' dijagramma, tidher bħal din (l-istampa tista' tikklikkja):
Nagħmlu l-Google Call Screening tagħna stess ibbażat fuq Voximplant u Dialogflow
Nifhmu l-arkitettura, nistgħu nieħdu l-implimentazzjoni, iżda b'twissija waħda: mhux se nagħmlu mobbli applikazzjoni biex turi djalogu bejn Dialogflow u min iċempel deħlin, aħna se noħolqu sempliċi il-web-applikazzjoni bi renderer tad-djalogu biex turi viżwalment kif jaħdem l-Iscreening tas-Sejħiet. Din l-applikazzjoni ser ikollha buttuna Intervene, billi tagħfas liema Voximplant se jgħaqqad l-abbonat li jkun dieħel mal-abbonat ikkwalifikat, jekk dan tal-aħħar jiddeċiedi li jitkellem hu stess.

Реализация

Iffirma kont Voximplant tiegħek u oħloq applikazzjoni ġdida bħal screening:

Nagħmlu l-Google Call Screening tagħna stess ibbażat fuq Voximplant u Dialogflow
Iftaħ taqsima "Numri" u tixtri numru li jaħdem bħala intermedjarju:

Nagħmlu l-Google Call Screening tagħna stess ibbażat fuq Voximplant u Dialogflow
Sussegwentement, mur fl-applikazzjoni tal-iskrinjar, fit-taqsima "Numri", tab "Disponibbli". Hawnhekk se tara n-numru li għadek kif xtrajt. Linkha mal-applikazzjoni billi tuża l-buttuna "Ehmeż" - fit-tieqa li tidher, ħalli l-valuri awtomatiċi kollha u kklikkja "Ehmeż".

Ladarba ġewwa l-applikazzjoni, mur fit-tab "Scripts" u oħloq script myscreening - fiha nużaw il-kodiċi mill-artiklu Kif tuża Dialogflow Connector. F'dan il-każ, il-kodiċi se jinbidel kemmxejn, għax għandna bżonn "naraw" id-djalogu bejn min iċempel u l-assistent; il-kodiċi kollu jista 'jkun ħu hawn.

TWISSIJA: ser ikollok bżonn tibdel il-valur tal-varjabbli tas-server għall-isem tas-server ngrok tiegħek (aktar fuq ngrok hawn taħt). Ipplaggja wkoll il-valuri tiegħek fuq il-linja 31, fejn in-numru tat-telefon tiegħek huwa n-numru prinċipali tiegħek (pereżempju, il-mowbajl personali tiegħek) u n-numru tal-voximplant huwa n-numru li xtrajt dan l-aħħar.

outbound_call = VoxEngine.callPSTN(“YOUR PHONE NUMBER”, “VOXIMPLANT NUMBER”)

Is-sejħa PSTN se sseħħ fil-mument meta inti tiddeċiedi li tidħol fil-konversazzjoni u jkollha konverżazzjoni personali ma 'min iċempel deħlin.

Wara li tissejvja l-iskrittura, trid torbotha man-numru mixtri. Biex tagħmel dan, waqt li tkun għadha ġewwa l-applikazzjoni tiegħek, mur fit-tab "Routing" biex toħloq regola ġdida - il-buttuna "Regola Ġdida" fir-rokna ta' fuq tal-lemin. Speċifika isem (per eżempju, allcalls), ħalli l-maskra default (.* - li jfisser li s-sejħiet kollha deħlin se jiġu pproċessati mill-iskripts magħżula għal din ir-regola), u speċifika l-iskript myscreening.

Nagħmlu l-Google Call Screening tagħna stess ibbażat fuq Voximplant u Dialogflow
Salv ir-regola.

Minn issa 'l quddiem, in-numru tat-telefon huwa marbut max-xenarju. L-aħħar ħaġa li għandek tagħmel hu li torbot il-bot mal-applikazzjoni. Biex tagħmel dan, mur fit-tab "Konnettur Dialogflow", ikklikkja l-buttuna "Żid l-aġent Dialogflow" fir-rokna ta 'fuq tal-lemin u ittella' l-fajl JSON tal-aġent Dialogflow tiegħek.

Nagħmlu l-Google Call Screening tagħna stess ibbażat fuq Voximplant u Dialogflow
Jekk għandek bżonn aġent per eżempju/ittestjar, tista 'tikseb tagħna minn din il-link: github.com/aylarov/callscreening/tree/master/dialogflow. Titlobx wisq mingħandu, dan huwa biss eżempju li int liberu li terġa' tagħmel kif tixtieq u tħossok liberu li taqsam ir-riżultati 🙂

Backend sempliċi NodeJS

Ejja niskjeraw backend sempliċi fuq node, bħal dan:
github.com/aylarov/callscreening/tree/master/nodejs

Din hija applikazzjoni normali li teħtieġ biss żewġ kmandi biex taħdem:

npm install
node index.js

Is-server se jibda fuq il-port 3000 fuq il-magna tiegħek, għalhekk nużaw l-utilità ngrok biex nikkonnettjawha mas-sħaba Voximplant. Meta tinstalla ngrok, mexxiha bil-kmand:

ngrok http 3000

Se tara l-isem tad-dominju li ngrok iġġenera għas-server lokali tiegħek - ikkopjah u ssostitwih fil-varjabbli tas-server.

Klijent

L-applikazzjoni tal-klijent tidher qisha chat sempliċi li tista ' aqbad minn hawn.

Ikkopja l-fajls kollha f'xi direttorju fuq is-server tal-web tiegħek u taħdem. Fil-fajl script.js, ibdel il-valur tal-varjabbli tas-server għall-isem tad-dominju ngrok u l-valur tal-varjabbli tas-sejħiet għan-numru li xtrajt. Issejvja l-fajl u mexxi l-applikazzjoni fil-browser. Jekk kollox huwa fl-ordni, allura se tara konnessjoni WebSocket fil-pannell tal-iżviluppatur.

Demo

Tista' tara l-app fl-azzjoni f'dan il-video:


PS Jekk tikklikkja fuq il-buttuna Intervene, allura min iċempel jiġi dirett lejn in-numru tat-telefon tiegħi, u jekk tikklikkja fuq Skonnettja, ikun ...? Dak id-dritt, is-sejħa se tkun skonnettjata.

Sors: www.habr.com

Żid kumment