Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Twilioハンズオン!電話の自動音声応答を作ってみよう
Search
friendtree16
September 02, 2021
Programming
0
200
Twilioハンズオン!電話の自動音声応答を作ってみよう
以下イベントのハンズオンで利用した資料です。
https://kaishi-fc.connpass.com/event/220524/
friendtree16
September 02, 2021
Tweet
Share
More Decks by friendtree16
See All by friendtree16
Watsonを使ってVoiceControllerを作る
friendtree16
0
71
bluemixユーザー会発表資料
friendtree16
1
1.5k
Other Decks in Programming
See All in Programming
Vibe codingでおすすめの言語と開発手法
uyuki234
0
160
CSC307 Lecture 01
javiergs
PRO
0
650
perlをWebAssembly上で動かすと何が嬉しいの??? / Where does Perl-on-Wasm actually make sense?
mackee
0
280
0→1 フロントエンド開発 Tips🚀 #レバテックMeetup
bengo4com
0
450
Context is King? 〜Verifiability時代とコンテキスト設計 / Beyond "Context is King"
rkaga
10
1.5k
Spinner 軸ズレ現象を調べたらレンダリング深淵に飲まれた #レバテックMeetup
bengo4com
1
210
MDN Web Docs に日本語翻訳でコントリビュート
ohmori_yusuke
0
140
Developing static sites with Ruby
okuramasafumi
1
340
AIの誤りが許されない業務システムにおいて“信頼されるAI” を目指す / building-trusted-ai-systems
yuya4
7
4.2k
Claude Codeの「Compacting Conversation」を体感50%減! CLAUDE.md + 8 Skills で挑むコンテキスト管理術
kmurahama
1
700
ゆくKotlin くるRust
exoego
1
180
ZJIT: The Ruby 4 JIT Compiler / Ruby Release 30th Anniversary Party
k0kubun
1
310
Featured
See All Featured
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
A designer walks into a library…
pauljervisheath
210
24k
KATA
mclloyd
PRO
33
15k
Designing for Timeless Needs
cassininazir
0
110
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
39
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.7k
Typedesign – Prime Four
hannesfritz
42
2.9k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.1k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
0
270
Everyday Curiosity
cassininazir
0
120
Measuring & Analyzing Core Web Vitals
bluesmoon
9
720
End of SEO as We Know It (SMX Advanced Version)
ipullrank
2
3.8k
Transcript
5XJMJPϋϯζΦϯʂ ిͷࣗಈԠΛ࡞ͬͯΈΑ͏
ࣗݾհ ໊લɿᷤɹஐلʢ͔ͭɹͱ͖ʣ ॴଐɿKDDIΣϒίϛϡχέʔγϣϯζ ɹɹɹTwilioຊ෦ɹϚʔέςΟϯάνʔϜ ܦྺɿ 2014ΑΓiOSɺAndroidͷωΠςΟϒΞϓϦέʔγϣϯ։ൃɺAngularLaravelΛ༻͍ͨΣϒΞϓϦέʔ γϣϯ։ൃʹैࣄɻ20205݄ΑΓTwilioࣄۀ෦ʹδϣΠϯ͠ɺTwilioͷ࠷৽ใͷൃ৴TwilioΛ༻͍ͨ Ҭ՝ղܾΛ୲ɻ 2021ʙɿTwilio Champion
ஶॻɿʢ2021/3ʣʰ͡ΊͯͷTwilioʱֶࣾ
ΞδΣϯμ 1. Twilioʹ͍ͭͯ 2. TwilioΞΧϯτͷ࡞ 3. ి൪߸ͷߪೖ 4. ిͷࣗಈԻԠͷ࡞ʢൃ৴ɾண৴ʣ 5.
SMSૹ৴ 6. Twilio Questͷհ
Twilio ʹ͍ͭͯ
Twilioͱ
Twilio͕ఏڙ͍ͯ͠ΔϓϩμΫτҰཡ
Twilioͷར༻ྫ
Twilioͷར༻ྫ
Twilioͷར༻ྫ
Twilioͷར༻ྫ
KDDIΣϒίϛϡχέʔγϣϯζͱTwilio
TwilioΞΧϯτͷ࡞
TwilioΞΧϯτͷ࡞
TwilioΞΧϯτͷ࡞
ి൪߸ͷߪೖ
ి൪߸ʹ͍ͭͯ • TwilioͰఏڙ͍ͯ͠Δి൪߸ͷࠃ • 100ΧࠃҎ্ • ຊͷ൪߸Ͱఏڙ͍ͯ͠Δి൪߸ͷछྨ • 050൪߸ʢిͷडൃ৴ͷΈɾSMSૹ৴ෆՄʣ •
0120/0800൪߸ʢண՝ۚํࣜʣ • ຊ൪߸ߪೖʹ͋ͨͬͯཹҙࣄ߲ • ຊਓ֬ೝ͕ඞཁ • https://cloudapi.kddi-web.com/magazine/twilio-lesson/how-to-buy-a-telephone-number • 0120൪߸Λߪೖ͢Δʹɺฐࣾ·Ͱ͓͍߹Θ͍ͤͩ͘͞ɻ
ి൪߸ͷߪೖ
ిͷࣗಈԻԠͷ࡞ʢൃ৴ʣ
TwilioͰࣗಈԻԠΛ࡞Δ࣌ͷߏ IBM Cloud
IBM CloudίϚϯυͷ४උ curl -fsSL https://clis.cloud.ibm.com/install/osx | sh iex(New-Object Net.WebClient).DownloadString('https://clis.cloud.ibm.com/ install/powershell')
ࢀরϖʔδ https://cloud.ibm.com/docs/cli?topic=cli-install-ibmcloud-cli&locale=ja Mac Windows PowerShell Login Ibmcloud login
IBM Cloud FunctionsΛ༗ޮԽ͢Δ 1.IBM CloudͷΞΧϯτʹϩάΠϯ 2.Cloud FunctionsμογϡϘʔυΛදࣔ 3.໊લۭؒΛબ
ιʔείʔυͷ४උ https://github.com/friendtree16/TwiMLServer-IBMCloud-Functions
ιʔείʔυͷ४උ Index.js
ιʔείʔυͷ४උ ύοέʔδΠϯετʔϧ WebpackόϯυϧΛϏϧυ IBM Cloud FunctionsʹσϓϩΠ npm install npm run
build npm run deploy
IBM Cloud FunctionsΛ४උ
IBM Cloud FunctionsΛ४උ
IBM Cloud FunctionsΛ४උ
IBM Cloud FunctionsΛ४උ ύεɿ’/twiml’ͱೖྗ͠·͢ verbɿPOSTΛબ͠·͢ ΞΫγϣϯΛؚΉύοέʔδɿσϑΥϧτΛબ͠·͢ ΞΫγϣϯɿhello-twilioΛબΛબ͠·͢ ԠίϯςϯπɾλΠϓɿΞΫγϣϯ͔Β”Context-Type” ϔομʔΛ༻͠·͢Λબ͠·͢
IBM Cloud FunctionsΛ४උ
IBM Cloud FunctionsΛ४උ URLܦ࿏ͷޙΖʹ/twimlΛ͚ͭͨͷʹͳΓ·͢ɻ ྫɿhttps://xxxxxxxx.us-south.apigw.appdomain.cloud/api/twiml
ిΛൃ৴ʢAPIʣ curl -X POST https://api.twilio.com/2010-04-01/Accounts/$TWILIO_ACCOUNT_SID/Calls.json \ --data-urlencode "Url=https://xxxxxxxx.us-south.apigw.appdomain.cloud/api/twiml" \ --data-urlencode
"To=+819012345678" \ (ൃ৴͢Δઌͷి൪߸) --data-urlencode "From=+15017122661" \ (ൃ৴͢Δݩͷి൪߸) -u $TWILIO_ACCOUNT_SID:$TWILIO_AUTH_TOKEN
ిΛൃ৴ʢAPI Explorerʣ ൃ৴ઌి൪߸ ൃ৴ݩి൪߸ TwiMLͷURL
ిͷࣗಈԻԠͷ࡞ʢண৴ʣ
ి൪߸ʹURLΛઃఆ ͜͜ʹURLΛઃఆ͢Δ
TwiML Appͷ࡞
TwiML Appͷ࡞ ҙͷ໊લ URL
ண৴ςετ
ϏδϡΞϧϓϩάϥϛϯάͰϑϩʔΛ࡞
Twilio Studio • ίϛϡχέʔγϣϯϫʔΫϑϩʔͷ࡞͔ΒཧΛɺશͯϒϥβ্Ͱߦ͏͜ͱ͕Ͱ͖·͢ ༻్ʹԠͨ͡ίϛϡχέʔγϣϯϫʔΫϑϩʔΛ࡞͠ɺͦΕΒΛҰݩཧ͢Δ͜ͱ͕Ͱ͖·͢ɻϒϥβ ্Ͱ࡞͢ΔίϛϡχέʔγϣϯϫʔΫϑϩʔͷ࣮ߦճʹର͢Δ੍ݶ͋Γ·ͤΜɻ • దͳίϛϡχέʔγϣϯνϟωϧͰͷ௨৴ Twilioɺ༷ʑͳίϛϡχέʔγϣϯνϟωϧΛ༻ҙ͓ͯ͠Γ·͢ɻ ిɺSMSɺFacebook
MessengerLINE ͳͲɺ͓͖ͳίϛϡχέʔγϣϯνϟωϧͱ࿈ܞ͠ɺίϛϡχέʔγϣϯϫʔΫϑϩʔΛߏங͢Δ͜ͱ͕ ՄೳͰ͢ɻ • γʔϜϨεͳσʔλ࿈ܞ ࣗࣾͰطʹ༻͍ͯ͠ΔαʔυύʔςΟγεςϜγεςϜج൫ͱ࿈ܞͰ͖·͢ɻ͜ΕʹΑΓɺγʔϜϨ εͳσʔλͷ࿈ܞ͕ՄೳʹͳΓ·͢ɻ
Twilio StudioͰϑϩʔΛ࡞
Twilio StudioͰϑϩʔΛ࡞ ͢͜ͱ ݴޠͷछྨ Իͷछྨ
ి൪߸ʹϑϩʔΛઃఆ Studio FlowΛબ ࡞ͬͨFlowΛઃఆ
TwiML AppʹURLΛઃఆ ίϐʔ ϖʔετ
ண৴ςετ
SMSͷૹ৴
Programmable SMSͷಛ • SMSΛૹ৴͢ΔࡍΞϝϦΧͷ൪߸Λར༻ • ΦϓγϣϯͰࠃऩϧʔτఏڙ • ૹ৴ݩͱͯ͠ɺΞϧϑΝϕοτΛઃఆ͢Δ͜ͱՄೳ • SMSΛड৴͢Δ͜ͱͰ͖Δ͕ɺૹ৴ऀଆ͕ࠃࡍSMSʹͳͬͯ͠·͏ͨΊɺҙ
SMSૹ৴ curl -X POST https://api.twilio.com/2010-04-01/Accounts/$TWILIO_ACCOUNT_SID/Messages.json \ --data-urlencode “Body=͜͜ͰຊจΛࢦఆ͠·͢ɻ" \ --data-urlencode
"From=+15017122661" \ (ૹ৴ݩి൪߸) --data-urlencode “To=+819012345678" \ʢૹ৴ઌి൪߸ʣ -u $TWILIO_ACCOUNT_SID:$TWILIO_AUTH_TOKEN
Twilio Questͷհ
Twilio Questͷհ https://www.twilio.com/quest/ja
͝ࢹௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ