Este posibil să fi auzit sau citit despre funcția de filtrare a apelurilor pe care Google a lansat-o pentru telefoanele sale Pixel din SUA. Ideea este grozavă - atunci când primești un apel, asistentul virtual începe să comunice, în timp ce vezi această conversație sub forma unui chat și în orice moment poți începe să vorbești în locul asistentului. Acest lucru este foarte util în aceste zile când aproape
Arhitectură
Vă sugerez să nu pierdeți timpul explicând cum funcționează Voximplant și Dialogflow dacă doriți, puteți găsi cu ușurință informații pe Internet; Așa că haideți să ne familiarizăm cu însuși conceptul de filtrare a apelurilor.
Să presupunem că ai deja un anumit număr de telefon pe care îl folosești în fiecare zi și pe care primești apeluri importante. În acest caz, vom avea nevoie de un al doilea număr, care va fi indicat peste tot - prin poștă, pe o carte de vizită, atunci când completați formulare online etc. Acest număr va fi conectat la un sistem de procesare a limbajului natural (în cazul nostru, Dialogflow) și va redirecționa apelurile către numărul dvs. principal numai dacă doriți. În formă de diagramă arată astfel (poza se poate face clic):
Înțelegând arhitectura, ne putem asuma implementarea, dar cu o singură avertizare: nu vom face mobil aplicație pentru a afișa un dialog între Dialogflow și un apelant, vom crea un simplu web-o aplicație cu redare de dialog pentru a arăta clar cum funcționează Screeningul apelurilor. Această aplicație va avea un buton Intervene, prin apăsarea căruia Voximplant va conecta abonatul care vine cu abonatul apelat, dacă acesta din urmă a decis să vorbească singur.
punerea în aplicare
conectare
Deschide
Apoi, accesați aplicația de screening, în secțiunea „Numere”, fila „Disponibil”. Aici veți vedea numărul pe care tocmai l-ați achiziționat. Conectați-o la aplicație folosind butonul „Atașați” - în fereastra care apare, lăsați toate valorile implicite și faceți clic pe „Atașați”.
Odată în interiorul aplicației, accesați fila „Scripturi” și creați un script myscreening - în el folosim codul din articol
ATENȚIE: va trebui să schimbați valoarea variabilei server cu numele serverului dumneavoastră ngrok (detalii despre ngrok vor fi mai jos). De asemenea, înlocuiți valorile pe rândul 31, unde numărul dvs. de telefon este numărul dvs. principal (de exemplu, telefonul dvs. mobil personal), iar numărul voximplant este numărul pe care l-ați achiziționat recent.
outbound_call = VoxEngine.callPSTN(“YOUR PHONE NUMBER”, “VOXIMPLANT NUMBER”)
Apelul PSTN va avea loc în momentul în care decideți să intrați în conversație și să vorbiți personal cu abonatul care vine.
După ce salvați scriptul, trebuie să îl conectați la numărul achiziționat. Pentru a face acest lucru, în timp ce încă în interiorul aplicației, accesați fila „Routing” pentru a crea o nouă regulă - butonul „New Rule” din colțul din dreapta sus. Furnizați un nume (de exemplu, allcalls), lăsați masca implicită (.* - ceea ce înseamnă că toate apelurile primite vor fi procesate de scripturile selectate pentru această regulă) și specificați scriptul myscreening.
Salvează regula.
De acum înainte, numărul de telefon este legat de script. Ultimul lucru pe care trebuie să-l faceți este să conectați botul la aplicație. Pentru a face acest lucru, accesați fila „Conector Dialogflow”, faceți clic pe butonul „Adăugați agent Dialogflow” din colțul din dreapta sus și încărcați fișierul JSON al agentului dvs. Dialogflow.
Dacă aveți nevoie de un agent de exemplu/testare, îl puteți lua pe al nostru la acest link:
Backend simplu pe NodeJS
Să implementăm un backend simplu pe un nod, de exemplu, astfel:
Aceasta este o aplicație simplă care necesită doar două comenzi pentru a rula:
npm install
node index.js
Serverul va rula pe portul 3000 al mașinii dvs., așa că pentru a-l conecta la cloud Voximplant, folosim utilitarul ngrok. Când instalați
ngrok http 3000
Veți vedea numele de domeniu pe care ngrok l-a generat pentru serverul dvs. local - copiați-l și inserați-l în variabila server.
client
Aplicația client arată ca un simplu chat pe care îl puteți
Doar copiați toate fișierele într-un director de pe serverul dvs. web și va funcționa. În fișierul script.js, înlocuiți variabila server cu numele domeniului ngrok și variabila apelat cu numărul pe care l-ați achiziționat. Salvați fișierul și lansați aplicația în browser. Dacă totul este în regulă, veți vedea conexiunea WebSocket în panoul pentru dezvoltatori.
Demo
Puteți vedea aplicația în acțiune în acest videoclip:
PS Dacă dai clic pe butonul Interveni, apelantul va fi direcționat către numărul meu de telefon, iar dacă dai clic pe Deconectare, va fi...? Așa este, apelul va fi deconectat.
Sursa: www.habr.com