Slide 1

Slide 1 text

Copyright (C) KDDI Web Communications Inc. All Rights Reserved Non ΤϯδχΞͰ΋TwilioͰIoTͰ͖Δ͔ͳ ~IoTΊͬͪΌେมͩͬͨ͸ͳ͠~ 1 KDDI΢Σϒίϛϡχέʔγϣϯζ ੨໦Ճಸ

Slide 2

Slide 2 text

੨໦Ճಸ େࡕग़਎ 2017೥10݄ɹKDDI Web Communications ৽ଔೖࣾ Twilioࣄۀ෦ɹϚʔέςΟϯά෦ॴଐ 2 ࣮͸ ඒज़େֶଔ

Slide 3

Slide 3 text

Twilioͱ͸ 3 ̎̌̌̔೥αʔϏε։࢝ɻຊࣾ͸αϯϑϥϯγείɻ Ի੠ి࿩΍SMSͳͲͷίϛϡχέʔγϣϯνϟωϧΛఏڙ͍ͯ͠ΔΫϥ΢υαʔϏεɻ

Slide 4

Slide 4 text

ීஈ͍ͯ͠Δ͜ͱ ɾηϛφʔͷاը ɾࣄྫ঺հͳͲͷHPίϯϯςϯπ ͷߋ৽ ͱ͔ͱ͔ɻɻɻ ͭ·ΓɹΊͬͪΌϚʔέͯ͠·͢ 4

Slide 5

Slide 5 text

Ͱ΋Θͨ͠ɺࢥͬͨΜͰ͢ɻ Ϛʔέ͚ͩͲɺTwilioͷ͜ͱશવ஌Βͳ͍ 5

Slide 6

Slide 6 text

ͱΓ͋͑ͣԿ͔࡞ͬͯΈΑ͏ 6

Slide 7

Slide 7 text

ΜͰɺ࡞Δ͔Βʹ͸ Կ͔Ͱൃද͠Α͏ 7

Slide 8

Slide 8 text

8 ɹ͔ͨ˓͠͞ΜɺԿ͔࡞ͬͯొஃ͍ͨ͠Ͱ͢ ͦ͏ͳΜ͔ɺ͡Ό͋͜Εିͨ͠ΔΘʂɹ .̑45"$, Θͨ͠ ฐࣾΤό

Slide 9

Slide 9 text

9 མͱͯ͠յ͢ Ϙλϯԡͤͳ͘ͳΔ

Slide 10

Slide 10 text

10 ൵͠ΉΤόϯδΣϦετ

Slide 11

Slide 11 text

࠷ۙ຋༁ͨ͠ϒϩά(ۙ೔ެ։) 11

Slide 12

Slide 12 text

12 ͜Ε͘Β͍࡞Εͦ͏͡Όͳ͍ʁ

Slide 13

Slide 13 text

13

Slide 14

Slide 14 text

14 ίϐϖ ͱ͔ ి࿩ൃ৴ ɹˣ ࣗಈԠ౴ ɹˣ SMSૹ৴

Slide 15

Slide 15 text

ͱ͍͏͜ͱͰ࡞ͬͯΈͨ 15

Slide 16

Slide 16 text

ᶃAWSϘλϯͷઃఆ 16 ͳΜͱ͔ DONE!! Ϙλϯಧ͘ʢ΍ͬͨʔʂʣ ↓ ΞϓϦΛΠϯετʔϧ ʢ؆୯ʂʂʣ ↓ σόΠεͷొ࿥ ʢ͙͢Ͱ͖Δʂʣ

Slide 17

Slide 17 text

17 DONE!! Studio͍͢͝ʂ ຊ౰ʹίʔσΟϯά͍Βͳ͍ɺɺɺ Ͱ΋͔͔̎࣌ؒͬͨ ※࣮ࡍͷϑϩʔ

Slide 18

Slide 18 text

ᶅAWSͷηοςΟϯά 18 ΞΧ΢ϯτ࡞ΔˠϩάΠϯ͢Δ ͦͯ͠ࢥͬͨ LambdaͬͯԿ

Slide 19

Slide 19 text

ᶅAWSͷηοςΟϯά ؀ڥม਺ͷઃఆ ɾTwilioͷREST APIͷURL͕https ʢϒϩά͸httpʣˠͲ͜ΛͲ͏ม͑Ε͹͍͍ͷ͔Θ͔Βͳ͍ ɾGet͡Όͳͯ͘Post͡Όͳ͍ͱಈ͔ͳ͍ʁ ɾPython? Node?ͲͬͪͰ։ൃ͢Ε͹͍͍ͷʁ ໰୊ग़͖ͯ·͘Γ ͳʹ͜ΕɺΊͬͪΌ೉͍͠ɻ݁ہɺ 19

Slide 20

Slide 20 text

ΤϯδχΞͷਓʹ͓ئ͍͢Δ 20

Slide 21

Slide 21 text

࣮ࡍͷίʔυʢNode.jsʣ const https = require('https'); const querystring = require('querystring'); const TWILIO_ACCOUNT_SID = process.env.TWILIO_ACCOUNT_SID; const TWILIO_AUTH_TOEKN = process.env.TWILIO_AUTH_TOKEN; const TWILIO_STUDIO_REST_API_PATH = process.env.TWILIO_STUDIO_REST_API_PATH; const TWILIO_STUDIO_TO = process.env.TWILIO_STUDIO_TO; const TWILIO_STUDIO_FROM = process.env.TWILIO_STUDIO_FROM; exports.handler = function(event, context, callback) { const postData = querystring.stringify({ 'To' : TWILIO_STUDIO_TO, 'From': TWILIO_STUDIO_FROM }); const options = { hostname: 'studio.twilio.com', port: 443, path: TWILIO_STUDIO_REST_API_PATH, method: 'POST', headers: { 'Content-Type': 'application/x-www-form-urlencoded', 'Content-Length': postData.length }, "auth" : `${TWILIO_ACCOUNT_SID}:${TWILIO_AUTH_TOEKN}` }; const req = https.request(options, (res) => { res.on('data', (chunk) => { console.log(`BODY: ${chunk}`); }); res.on('end', () => { console.log('No more data in response.'); callback(null, "request completed"); }); }); req.on('error', (e) => { console.error(`problem with request: ${e.message}`); }); req.write(postData); req.end(); } 21

Slide 22

Slide 22 text

DEMO 22

Slide 23

Slide 23 text

·ͱΊʢ౰ͨΓલͷ͜ͱʣ ɾAWSͷαʔόʔϨε؀ڥ͍͢͝͠ɺ͍ͬͺ͍ػೳ͋Δ͚Ͳ ݁ہίϐϖ͚ͩ͡Όͪΐͬͱແཧ͋Δ͔΋ʢ૊Έ߹Θͤͯ ࡞ͬͯΈͯ΋ʣ ɾTwilio Studio͍͢͝ ʢຊ౰ʹίʔσΟϯά͍Βͳ͍ɻͰ΋ઃఆ߲໨͕ણࡉɻؾ Λൈ͍ͨΒಈ͔ͳ͍ʣ 23

Slide 24

Slide 24 text

·ͱΊʢ౰ͨΓલͷ͜ͱʣ 2೔͔͚ͯ࡞Δ༧ఆ͕ Ұि͔͔ؒΔ ΤϯδχΞ͞Μ͍͢͝ 24

Slide 25

Slide 25 text

Twilio Ϗδωεηϛφʔ Vol.53 kintone Twilio 25 × ݄̔̎̏೔ʢ໦ʣ̍̒ɿ̌̌ʙ Ϋϩείʔϓ੨ࢁɹ̕Fʢେʣ