Voximplant және Dialogflow негізінде жеке Google қоңырау скринингін жасау

Voximplant және Dialogflow негізінде жеке Google қоңырау скринингін жасау
Google АҚШ-тағы Pixel телефондары үшін шығарған Қоңырауларды тексеру мүмкіндігі туралы естіген немесе оқыған боларсыз. Идея керемет - кіріс қоңырауды алған кезде виртуалды көмекші сөйлесе бастайды, бұл сөйлесуді чат түрінде көресіз және кез келген уақытта көмекшінің орнына сөйлей бастай аласыз. Бұл дерлік қазіргі күндері өте пайдалы қоңыраулардың жартысы спам, бірақ контактілер тізіміңізде жоқ біреудің маңызды қоңырауларын өткізіп алғыңыз келмейді. Жалғыз нәрсе - бұл функция тек Pixel телефонында және АҚШ-та ғана қолжетімді. Ал, кедергілерді еңсеру керек емес пе? Сондықтан біз сізге Voximplant және Dialogflow көмегімен ұқсас шешімді қалай жасауға болатынын айтуды шештік. Өтінемін, мысықтың астында.

сәулет

Мен сізге Voximplant және Dialogflow қалай жұмыс істейтінін түсіндіруге уақыт жоғалтпауды ұсынамын, егер қаласаңыз, ақпаратты Интернеттен оңай таба аласыз. Сонымен, қоңырауларды скринингтің тұжырымдамасымен танысайық.

Сізде күнделікті пайдаланатын және маңызды қоңырауларды қабылдайтын белгілі бір телефон нөмірі бар деп есептейік. Бұл жағдайда бізге екінші нөмір қажет болады, ол барлық жерде көрсетіледі - поштада, визиткада, онлайн формаларды толтырған кезде және т.б. Бұл нөмір табиғи тілді өңдеу жүйесіне қосылады (біздің жағдайда, Dialogflow) және қоңырауларды сіз қаласаңыз ғана негізгі нөміріңізге бағыттайды. Диаграмма түрінде ол келесідей көрінеді (суретті басуға болады):
Voximplant және Dialogflow негізінде жеке Google қоңырау скринингін жасау
Архитектураны түсіне отырып, біз іске асыруды қабылдай аламыз, бірақ бір ескертумен: біз жасамаймыз ұялы Dialogflow мен кіріс қоңырау шалушы арасындағы диалогты көрсетуге арналған қолданба, біз қарапайым жасаймыз веб-сайт-Қоңырауларды скринингтің қалай жұмыс істейтінін нақты көрсету үшін диалогтық рендерері бар қолданба. Бұл қолданбада Intervene түймесі болады, оны басу арқылы Voximplant кіріс абонентті терілген абонентпен байланыстырады, егер ол өзі сөйлесуді шешсе.

Реализация

Кіру Voximplant есептік жазбаңыз және жаңа қолданбаны жасаңыз, мысалы, скрининг:

Voximplant және Dialogflow негізінде жеке Google қоңырау скринингін жасау
Ашыңыз «Бөлмелер» бөлімі және делдал ретінде жұмыс істейтін нөмірді сатып алыңыз:

Voximplant және Dialogflow негізінде жеке Google қоңырау скринингін жасау
Әрі қарай, «Сандар» бөліміндегі «Қолжетімді» қойындысындағы скринингтік қосымшаға өтіңіз. Мұнда сіз жаңа ғана сатып алған нөмірді көресіз. Оны «Тіркеу» түймесін пайдаланып қолданбаға байланыстырыңыз - пайда болған терезеде барлық әдепкі мәндерді қалдырыңыз және «Тіркеу» түймесін басыңыз.

Қолданбаға кіргеннен кейін «Сценарийлер» қойындысына өтіп, менің экраным сценарийін жасаңыз - онда біз мақаланың кодын қолданамыз. Dialogflow қосқышын пайдалану жолы. Бұл жағдайда код сәл өзгертіледі, өйткені бізге қоңырау шалушы мен көмекші арасындағы диалогты «көру» керек; барлық код мүмкін осында ал.

НАЗАР АУДАРЫҢЫЗ: сервер айнымалы мәнін ngrok серверіңіздің атына өзгертуіңіз керек (ngrok туралы мәліметтер төменде болады). Сондай-ақ 31-жолда мәндеріңізді ауыстырыңыз, мұнда сіздің телефон нөміріңіз сіздің негізгі нөміріңіз (мысалы, жеке ұялы телефоныңыз), ал voximplant нөмірі - сіз жақында сатып алған нөмір.

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

CallPSTN қоңырауы сіз сөйлесуді бұзып, кіріс абонентімен жеке сөйлесуді шешкен кезде пайда болады.

Сценарийді сақтағаннан кейін оны сатып алынған нөмірге байланыстыру керек. Бұл әрекетті орындау үшін, қолданбаның ішінде әлі де болса, жаңа ереже жасау үшін «Бағыттау» қойындысына өтіңіз - жоғарғы оң жақ бұрыштағы «Жаңа ереже» түймесі. Атауды беріңіз (мысалы, барлық қоңыраулар), әдепкі масканы қалдырыңыз (.* - бұл барлық кіріс қоңыраулар осы ереже үшін таңдалған сценарийлер арқылы өңделетінін білдіреді) және менің экрандау сценарийін көрсетіңіз.

Voximplant және Dialogflow негізінде жеке Google қоңырау скринингін жасау
Ережені сақтаңыз.

Бұдан былай телефон нөмірі сценарийге байланысты. Сізге қажет соңғы нәрсе - ботты қолданбаға байланыстыру. Ол үшін «Dialogflow қосқышы» қойындысына өтіп, жоғарғы оң жақ бұрыштағы «Dialogflow агентін қосу» түймесін басып, Dialogflow агентінің JSON файлын жүктеңіз.

Voximplant және Dialogflow негізінде жеке Google қоңырау скринингін жасау
Мысал/тестілеу үшін сізге агент қажет болса, мына сілтеме бойынша біздің агентті алуға болады: github.com/aylarov/callscreening/tree/master/dialogflow. Одан көп нәрсені талап етпеңіз, бұл жай ғана мысал, сіз қалағаныңызша қайталай аласыз және нәтижемен бөлісе аласыз :)

NodeJS жүйесіндегі қарапайым сервер

Қарапайым серверді түйінге орналастырайық, мысалы, келесідей:
github.com/aylarov/callscreening/tree/master/nodejs

Бұл іске қосу үшін тек екі пәрменді қажет ететін қарапайым қолданба:

npm install
node index.js

Сервер құрылғыңыздың 3000 портында жұмыс істейді, сондықтан оны Voximplant бұлтына қосу үшін ngrok утилитасын қолданамыз. Сіз орнатқан кезде ngrok, оны пәрменмен іске қосыңыз:

ngrok http 3000

Сіз ngrok жергілікті серверіңіз үшін жасаған домен атауын көресіз - оны көшіріп, сервер айнымалысына қойыңыз.

Клиент

Клиент қолданбасы сіз жасай алатын қарапайым чатқа ұқсайды осы жерден алыңыз.

Тек барлық файлдарды веб-серверіңіздегі кейбір каталогқа көшіріңіз және ол жұмыс істейді. script.js файлында сервер айнымалы мәнін ngrok домен атауымен және қоңырау шалушы айнымалы мәнін сатып алған нөмірмен ауыстырыңыз. Файлды сақтаңыз және қолданбаны браузерде іске қосыңыз. Егер бәрі дұрыс болса, әзірлеуші ​​тақтасында WebSocket қосылымын көресіз.

Демо

Қолданбаның жұмыс істеп тұрғанын мына бейнеден көре аласыз:


PS «Интервенция» түймесін бассаңыз, қоңырау шалушы менің телефон нөміріме бағытталады, ал «Ажырату» түймесін бассаңыз, ол ...? Дұрыс, қоңырау ажыратылады.

Ақпарат көзі: www.habr.com

пікір қалдыру