Izrada vlastitog Google Screeninga poziva na temelju Voximplanta i Dialogflowa

Izrada vlastitog Google Screeninga poziva na temelju Voximplanta i Dialogflowa
Možda ste čuli ili čitali o značajci provjere poziva koju je Google uveo za svoje Pixel telefone u SAD-u. Ideja je odlična - kada primite dolazni poziv, virtualni asistent počinje komunicirati, dok vi taj razgovor vidite u obliku chata i u svakom trenutku možete početi govoriti umjesto asistenta. Ovo je vrlo korisno ovih dana kada gotovo pola poziva su spam, ali ne želite propustiti važne pozive od nekoga tko nije na vašem popisu kontakata. Jedina začkoljica je u tome što je ova funkcija dostupna samo na Pixel telefonu i samo u SAD-u. Pa, prepreke su tu da se savladaju, zar ne? Stoga smo vam odlučili reći kako napraviti slično rješenje koristeći Voximplant i Dialogflow. Molimo pod kat.

arhitektura

Predlažem da ne gubite vrijeme objašnjavajući kako Voximplant i Dialogflow rade; ako želite, informacije možete lako pronaći na internetu. Dakle, upoznajmo se sa samim konceptom našeg Call Screeninga.

Pretpostavimo da već imate određeni broj telefona koji koristite svaki dan i na koji primate važne pozive. U ovom slučaju, trebat će nam drugi broj, koji će biti naznačen posvuda - u pošti, na posjetnici, kada ispunjavate online obrasce itd. Ovaj će broj biti povezan sa sustavom za obradu prirodnog jezika (u našem slučaju, Dialogflow) i prosljeđivat će pozive na vaš glavni broj samo ako vi to želite. U obliku dijagrama to izgleda ovako (na sliku se može kliknuti):
Izrada vlastitog Google Screeninga poziva na temelju Voximplanta i Dialogflowa
Razumijevajući arhitekturu, možemo preuzeti implementaciju, ali uz jedno upozorenje: nećemo mobilni aplikaciju za prikaz dijaloga između Dialogflowa i dolaznog pozivatelja, stvorit ćemo jednostavan web- aplikacija s prikazivačem dijaloga koja jasno pokazuje kako funkcionira filtriranje poziva. Ova aplikacija će imati gumb Intervene, pritiskom na koji će Voximplant spojiti dolaznog pretplatnika s biranim pretplatnikom, ako je ovaj odlučio sam razgovarati.

Provedba

Prijaviti se vaš Voximplant račun i izradite novu aplikaciju, na primjer screening:

Izrada vlastitog Google Screeninga poziva na temelju Voximplanta i Dialogflowa
Otvoreno odjeljak "Sobe" i kupite broj koji će raditi kao posrednik:

Izrada vlastitog Google Screeninga poziva na temelju Voximplanta i Dialogflowa
Zatim idite na aplikaciju za pregled, u odjeljku "Brojevi", karticu "Dostupno". Ovdje ćete vidjeti broj koji ste upravo kupili. Povežite ga s aplikacijom pomoću gumba "Priloži" - u prozoru koji se pojavi ostavite sve zadane vrijednosti i kliknite "Priloži".

Kada uđete u aplikaciju, idite na karticu "Skripte" i izradite skriptu myscreening - u njoj koristimo kod iz članka Kako koristiti Dialogflow Connector. U ovom slučaju, kod će biti malo modificiran, jer moramo "vidjeti" dijalog između pozivatelja i pomoćnika; sav kod je moguć uzmi ovdje.

PAŽNJA: morat ćete promijeniti vrijednost varijable poslužitelja u naziv vašeg ngrok poslužitelja (detalji o ngroku bit će ispod). Također zamijenite svoje vrijednosti u retku 31, gdje je vaš broj telefona vaš glavni broj (na primjer, vaš osobni mobilni telefon), a broj voximplanta je broj koji ste nedavno kupili.

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

CallPSTN poziv dogodit će se u trenutku kada odlučite upasti u razgovor i osobno razgovarati s dolaznim pretplatnikom.

Nakon što spremite skriptu, potrebno ju je povezati s kupljenim brojem. Da biste to učinili, dok ste još u svojoj aplikaciji, idite na karticu "Usmjeravanje" da biste izradili novo pravilo - gumb "Novo pravilo" u gornjem desnom kutu. Navedite naziv (na primjer, svipozivi), ostavite zadanu masku (.* - što znači da će sve dolazne pozive obraditi skripte odabrane za ovo pravilo) i navedite skriptu myscreening.

Izrada vlastitog Google Screeninga poziva na temelju Voximplanta i Dialogflowa
Spremite pravilo.

Od sada je telefonski broj povezan sa skriptom. Zadnje što trebate učiniti je povezati bot s aplikacijom. Da biste to učinili, idite na karticu “Dialogflow Connector”, kliknite gumb “Add Dialogflow Agent” u gornjem desnom kutu i prenesite JSON datoteku svog Dialogflow agenta.

Izrada vlastitog Google Screeninga poziva na temelju Voximplanta i Dialogflowa
Ako trebate agenta za primjer/testiranje, možete uzeti našeg na ovoj poveznici: github.com/aylarov/callscreening/tree/master/dialogflow. Samo ne zahtijevajte puno od toga, ovo je samo primjer koji možete slobodno ponavljati kako želite i slobodno podijeliti rezultate :)

Jednostavna pozadina na NodeJS

Implementirajmo jednostavnu pozadinu na čvoru, na primjer, ovako:
github.com/aylarov/callscreening/tree/master/nodejs

Ovo je jednostavna aplikacija koja zahtijeva samo dvije naredbe za pokretanje:

npm install
node index.js

Poslužitelj će raditi na portu 3000 vašeg stroja, tako da ga povezujemo s Voximplant oblakom, koristimo uslužni program ngrok. Kada instalirate ngrok, pokrenite ga naredbom:

ngrok http 3000

Vidjet ćete naziv domene koji je ngrok generirao za vaš lokalni poslužitelj - kopirajte ga i zalijepite u varijablu poslužitelja.

kupac

Klijentska aplikacija izgleda kao jednostavan chat koji možete pokupi odavde.

Samo kopirajte sve datoteke u neki direktorij na vašem web poslužitelju i radit će. U datoteci script.js zamijenite varijablu poslužitelja s nazivom domene ngrok i varijablu callee s brojem koji ste kupili. Spremite datoteku i pokrenite aplikaciju u svom pregledniku. Ako je sve u redu, vidjet ćete WebSocket vezu na ploči za programere.

demo

Aplikaciju na djelu možete vidjeti u ovom videu:


PS Ako kliknete na gumb Intervenirati, pozivatelj će biti usmjeren na moj telefonski broj, a ako kliknete na Disconnect, to će biti...? Tako je, poziv će biti prekinut.

Izvor: www.habr.com

Dodajte komentar