Share
Embed
messaging apiとLine Payで広がるLINE Botの世界
プログラミング生放送勉強会 第55回@福岡
で発表する内容のスライドになります。
https://atnd.org/events/100847?fbclid=IwAR2UvS9keRk7VZZG1Gybp2MxawGVM16Fgv5Os8S6Nl9m-u2XBiYAV5Z5eE4
Yutaka Fujisaki
November 03, 2018
Transcript
73 slides
-
• ౻࡚ɹ༏ɹ • גࣜձࣾΦϧλʔϒʔεॴଐɹ • ۀࣥߦһCOOɹ • ۙͷλεΫɹ • Ԭࢢૈେ͝ΈऩूLINEBot
• JAWS-UGԬίΞϝϯόʔ(#jawsugfuk) • ॳϝΠϯاըͱ࢘ձˠ࠷ۙओ ʹձఏڙ • ϰΟδϡΞϧܥͱWACKॴଐΞΠυϧ͕ ͖ Messaging APIͱLINE PayͰ͕ΔLINE Botͷੈք[201811݄03ϩάϥϛϯάੜ์ૹษڧձ@Fukuoka Gtowth Next] 2 -
࠷ۙͷ౻࡚͞Μ • ΠϕϯτͰࣛࣇౡߦͬͨΒࢢిΛ߱ΓΔͱ͖ʹΛ౿Έ֎͠ ೧࠳(201810݄20) • Amazonͷཌୡศ͕Ұिؒͨͬͯདྷͳ͍(201810݄ 28) • (NEW)ࣃ͕ંΕͨ(201811݄02) Messaging
APIͱLINE PayͰ͕ΔLINE Botͷੈք[201811݄03ϩάϥϛϯάੜ์ૹษڧձ@Fukuoka Gtowth Next] 3 -
ຊͷ༰ • LINE platformʹ͍ͭͯ • ຊ͏ػೳ • LINE BotͰͷ։ൃʹ͍ͭͯ •
αϯϓϧLINE BotͷதΛඥղ͖ͳ͕Β͓͠·͢ • αϯϓϧ express+node.js • https://github.com/y-fujisaki/pronama-linebot Messaging APIͱLINE PayͰ͕ΔLINE Botͷੈք[201811݄03ϩάϥϛϯάੜ์ૹษڧձ@Fukuoka Gtowth Next] 4 -
ར༻͢Δػೳ • ϝοηʔδ • ΫΠοΫϦϓϥΠ • LINE Front-end Framework(LIFF) •
LINE pay Messaging APIͱLINE PayͰ͕ΔLINE Botͷੈք[201811݄03ϩάϥϛϯάੜ์ૹษڧձ@Fukuoka Gtowth Next] 10 -
ػೳͷΈ߹ΘͤͯͰ͖Δ͜ͱ • LINE BotͱͷରετʔϦʔͷ࡞͕Ͱ͖Δ • ରͷதͰɺΛൢചɺܾࡁ·ͰՄೳͱ͢Δ(LINE Pay) • Webϒϥβʹඈ͢͜ͱͳ͘ɺLINEͰWebͷใΛݟͤ Δ(LIFF)
Messaging APIͱLINE PayͰ͕ΔLINE Botͷੈք[201811݄03ϩάϥϛϯάੜ์ૹษڧձ@Fukuoka Gtowth Next] 11 -
LINEͰΞϓϦΛ࡞ΔϝϦοτ • Πϯετʔϧෆཁ • 7600ສਓͷϢʔβʹΞϓϩʔνՄೳ • UIͷ࡞ΓࠐΈෆཁ • ૢ࡞આ໌͕΄ͱΜͲ͍Βͳ͍ Messaging
APIͱLINE PayͰ͕ΔLINE Botͷੈք[201811݄03ϩάϥϛϯάੜ์ૹษڧձ@Fukuoka Gtowth Next] 12 -
LINE Pay1 • LINEΞϓϦʹඪ४ࡌ͞ΕͨɺαʔόʔܕిࢠϚωʔΛத৺ ͱܾͨ͠ࡁαʔϏε 1 LINE Payใར׆༻ʹ͍ͭͯv5ΑΓ ϦϯΫ. Messaging
APIͱLINE PayͰ͕ΔLINE Botͷੈք[201811݄03ϩάϥϛϯάੜ์ૹษڧձ@Fukuoka Gtowth Next] 15 -
LINE Payͷ׆༻2 • ܾࡁΛىʹاۀͷLINEެࣜΞΧϯτͷ༑ͩͪʢϑΥϩϫʔʣͱͯ͠ొΛ༠ಋ͢Δ͜ͱ͕Ͱ͖Δɻ • اۀϝοηʔδ৴ʹ͋ͨΓLINE্ͷߦಈཤྺʹͱ͍ͮͨ౷ܭσʔλੳʹΑͬͯਪఆ͞ΕΔଐੑใΛ ׆༻ͯ͠ɺू٬ߪങΛଅ͢ϝοηʔδΛޮՌతʹ৴͢Δ͜ͱ͕Ͱ͖Δɻ 2 LINE Payใར׆༻ʹ͍ͭͯv5ΑΓ
ϦϯΫ. Messaging APIͱLINE PayͰ͕ΔLINE Botͷੈք[201811݄03ϩάϥϛϯάੜ์ૹษڧձ@Fukuoka Gtowth Next] 16 -
SDK:ରԠݴޠ • ެࣜ • Java • PHP • Go •
Perl • Python • Node.js • ίϛϡχςΟ • C# • ҙɿ։ൃڥߏஙͷલ४උলུ Messaging APIͱLINE PayͰ͕ΔLINE Botͷੈք[201811݄03ϩάϥϛϯάੜ์ૹษڧձ@Fukuoka Gtowth Next] 18 -
։ൃࢀߟURL • node.js • 1࣌ؒͰLINE BOTΛ࡞ΔϋϯζΦϯ (ࢿྉ+Ϩϙʔτ) in NodeֶԂࡇ2017 #nodefest
• https://qiita.com/n0bisuke/items/ceaa09ef8898bee8369d • C# • LINE ͷ Bot ։ൃ ೖʢલฤʣ θϩ͔ΒԠ͕Ͱ͖Δ·Ͱ C# ฤ(@kenakam༷) • https://qiita.com/kenakamu/items/e0b194a82e4141b30c95 • LambdaͰ͡ΊͯͷLINE BotΛ࡞Δ(ʹΌʔ༷) • https://dev.classmethod.jp/etc/lambda-line-bot-tutorial/ Messaging APIͱLINE PayͰ͕ΔLINE Botͷੈք[201811݄03ϩάϥϛϯάੜ์ૹษڧձ@Fukuoka Gtowth Next] 19 -
։ൃͷྲྀΕ (LINE Botલ४උ) • LINE Developers ίϯιʔϧͱ͍͏WebαΠτʹొΛߦ͍·͢ • ࢀߟɿhttps://qiita.com/nkjm/items/38808bbc97d6927837cd •
LINE Developers ͰʮChannelʯΛ࡞͢Δ • ΦϜฦ͢͠ΔBotͷຊମϓϩάϥϜΛ։ൃ͠ɺΫϥυ্ͷ࣮ߦڥͰσϓϩΠ • BotͷChannelͷઃఆͰWebhookΛઃఆɺϝοηʔδͳͲͷΠϕϯτ͕BotͰड͚औ ΕΔΑ͏ʹ͠·͢ Messaging APIͱLINE PayͰ͕ΔLINE Botͷੈք[201811݄03ϩάϥϛϯάੜ์ૹษڧձ@Fukuoka Gtowth Next] 22 -
։ൃͷྲྀΕ:LINE pay ͷొ • LINE Pay DevelopersʹΞΫηε • https://pay.line.me/jp/ developers/techsupport/
sandbox/creation?locale=ja_JP) • sandboxɺuserͷ࡞Λ࣮ࢪ • submitΛԡ͢ͱϝʔϧΞυϨεѼ ʹཧը໘ͷURL͕ඈΜͰ͖·͢ Messaging APIͱLINE PayͰ͕ΔLINE Botͷੈք[201811݄03ϩάϥϛϯάੜ์ૹษڧձ@Fukuoka Gtowth Next] 23 -
։ൃͷྲྀΕ:LINE pay ͷొ • ొͨ͠ϝʔϧΞυϨεʹuser_idͱ password͕ಧ͘ • ϝʔϧʹϩάΠϯ༻ͷURL͕ࢦఆ͞Ε͍ͯ ΔͷͰ͔ͦ͜ΒϩάΠϯ •
ొ࣌ɺॏෳϝΞυڐՄ͞Ε͍ͯ·ͤΜ • ܾࡁ࿈ಈཧ-࿈ಈΩʔཧʹ͋Δɺνϟϯ ωϧIDͱνϟϯωϧγʔΫϨοτΩʔΛऔಘ • Botଆͷڥมʹηοτ͠·͢ Messaging APIͱLINE PayͰ͕ΔLINE Botͷੈք[201811݄03ϩάϥϛϯάੜ์ૹษڧձ@Fukuoka Gtowth Next] 24 -
։ൃͷྲྀΕ(ϝοηʔδͷૹड৴ͷ ߹) 1. ରετʔϦʔΛ࡞ 2. πʔϧͰର༻ϝοηʔδςϯϓϨʔτΛ࡞Δ 3. ରΛॲཧ͢ΔAPIΛ࡞ 4. ϩʔΧϧڥͰಈ࡞֬ೝ(ngrokར༻ͯ͠ϩʔΧϧΛެ։)
5. Ϋϥυ্ຊ൪σϓϩΠ Messaging APIͱLINE PayͰ͕ΔLINE Botͷੈք[201811݄03ϩάϥϛϯάੜ์ૹษڧձ@Fukuoka Gtowth Next] 25 -
(ࢀߟ)ɹ։ൃڥɿngrok • ngrokΛ༻ͯ͠ϩʔΧϧڥΛ֎෦ʹެ։͢Δ(@kitaro729 ༷) • https://qiita.com/kitaro729/items/ 44214f9f81d3ebda58bd Messaging APIͱLINE PayͰ͕ΔLINE
Botͷੈք[201811݄03ϩάϥϛϯάੜ์ૹษڧձ@Fukuoka Gtowth Next] 26 -
ҙࣄ߲ • LINE DevelopersͰొͰ͖Δ webhookAPI̍ͭͷΈ • ཧը໘͔Βͷมߋ͕ඞཁ(APIͳ ͍͔ͳɾɾɾ) • ϩʔΧϧͰςετͯ͠ɺεςʔδ
ϯάΛΓସ͑Δࡍ໘ • ϩʔΧϧɺεςʔδϯάɺຊ൪ͱ ̏ͭͷνϟϯωϧΛ༻ҙͨ͠΄͏ ͕ྑͦ͞͏ Messaging APIͱLINE PayͰ͕ΔLINE Botͷੈք[201811݄03ϩάϥϛϯάੜ์ૹษڧձ@Fukuoka Gtowth Next] 27 -
ετʔϦʔ 1. ʮτοϓʯͱݴͬͨΒBotͷτοϓϝοηʔδΛදࣔ͢Δ 2. ʮҰཡʯͱݴͬͨΒΛදࣔ͢Δ 3. ҰཡFlexϝοηʔδͷΧϧʔηϧͰදࣔ 4. LINE payࢧ͍ϘλϯԡԼͰɺLINE
payͷܾࡁॲཧΛ࣮ࢪ 5. ൪֎ฤɿLIFFͰϓϩੜͪΌΜHPΛදࣔ Messaging APIͱLINE PayͰ͕ΔLINE Botͷੈք[201811݄03ϩάϥϛϯάੜ์ૹษڧձ@Fukuoka Gtowth Next] 29 -
։ൃ͢Δͷ • ϝοηʔδςϯϓϨʔτ(FlexɺΫΠοΫϦϓϥΠ) • LIFFͷઃఆ • LINE botͱΓͱΓ͢ΔAPI(/webhook) • ϦϓϥΠϝοηʔδॲཧ
• LINE payใͷҾ͖͠ • LINE payͷॲཧ݁ՌΛड͚औΔAPI(/pay/confirm) Messaging APIͱLINE PayͰ͕ΔLINE Botͷੈք[201811݄03ϩάϥϛϯάੜ์ૹษڧձ@Fukuoka Gtowth Next] 31 -
Flexϝοηʔδ • ςΩετɺը૾ɺϘλϯΛࣗ༝ʹϨ ΠΞτͰ͖Δ • ϨΠΞτJSONͰهड़ • JSONͰهड़ͨ͠ϝοηʔδΛͦͷ· ·ૹ৴Ͱ͖Δ Messaging
APIͱLINE PayͰ͕ΔLINE Botͷੈք[201811݄03ϩάϥϛϯάੜ์ૹษڧձ@Fukuoka Gtowth Next] 32 -
ΫΠοΫϦϓϥΠ ΫΠοΫϦϓϥΠϘλϯΛઃఆͨ͠ϝο ηʔδΛૹ৴͢Δͱɺϝοηʔδͷ΄͔ ʹɺτʔΫը໘ͷԼ෦ʹͦΕΒͷϘλϯ ͕දࣔ͞Ε·͢ɻ ϢʔβʔϘλϯΛλοϓ͢Δ͚ͩͰɺ Ϙοτ͔Βͷϝοηʔδʹ؆୯ʹฦ৴Ͱ ͖·͢ɻ Messaging APIͱLINE
PayͰ͕ΔLINE Botͷੈք[201811݄03ϩάϥϛϯάੜ์ૹษڧձ@Fukuoka Gtowth Next] 33 -
LINE Front-end FrameworkʢLIFFʣ • LINEͰಈ࡞͢ΔΣϒΞϓϦͷϓϥοτϑΥʔϜɻ • LIFFʹొͨ͠ΣϒΞϓϦʢLIFFΞϓϦʣΛLINEͰىಈ͢Δ ͱɺLINEͷϢʔβʔIDͳͲΛLINEϓϥοτϑΥʔϜ͔ΒऔಘͰ͖Δ • LIFFΞϓϦͰ͜ΕΒΛར༻ͯ͠ɺϢʔβʔใΛ׆༻ͨ͠ػೳΛ
ఏڙͨ͠ΓɺϢʔβʔͷΘΓʹϝοηʔδΛૹ৴ͨ͠ΓͰ͖· ͢ɻ Messaging APIͱLINE PayͰ͕ΔLINE Botͷੈք[201811݄03ϩάϥϛϯάੜ์ૹษڧձ@Fukuoka Gtowth Next] 34 -
ϝοηʔδςϯϓϨʔτ • Flexϝοηʔδ • ΫΠοΫϦϓϥΠ • LIFFɺϦϯΫͷΈ https://github.com/y-fujisaki/pronama-linebot/blob/master/ messages/top.js https://github.com/y-fujisaki/pronama-linebot/blob/master/
messages/productlist.js Messaging APIͱLINE PayͰ͕ΔLINE Botͷੈք[201811݄03ϩάϥϛϯάੜ์ૹษڧձ@Fukuoka Gtowth Next] 37 -
ϝοηʔδJSONͷ δΣωϨʔτ • FlexϝοηʔδγϡϛϨʔλ·ͨɺ LINE Bot Designer(࠷ۙରԠ) { "type": "bubble",
// ᶃϝοηʔδશମͷType "body": { // ᶄϝοηʔδͷຊจ "type": "box", // ᶅຊจશମΛғΉBOXΛஔ "layout": "horizontal", "contents": [ { "type": "text", // ᶆίϯςϯπΛஔ(ςΩετͷ߹) "text": "ϓϩੜʂʂ" } ] } } Messaging APIͱLINE PayͰ͕ΔLINE Botͷੈք[201811݄03ϩάϥϛϯάੜ์ૹษڧձ@Fukuoka Gtowth Next] 38 -
LIFFͷઃఆ npm install -g liff liff init {LINE_ACCESS_TOKEN} liff add
https://pronama.jp/ tall Messaging APIͱLINE PayͰ͕ΔLINE Botͷੈք[201811݄03ϩάϥϛϯάੜ์ૹษڧձ@Fukuoka Gtowth Next] 39 -
LINE botͱΓͱΓ͢ΔAPI • webhook • /pay/confirm https://github.com/y-fujisaki/pronama-linebot/blob/master/ server.js Messaging APIͱLINE
PayͰ͕ΔLINE Botͷੈք[201811݄03ϩάϥϛϯάੜ์ૹษڧձ@Fukuoka Gtowth Next] 41 -
Ճ͍ͨ͠ͷ • Ϧονϝχϡʔ • LINEϩάΠϯ • طଘͷECͱͷ࿈ܞͰ͖Δ • ސ٬ͷച্ʹ͋ΘͤͯΫʔϙϯൃߦͱɾɾɾ •
LIFFͷॆ࣮ • ސ٬ใೖΕͯΒͬͯϢʔβొͱ͔ • Ξϯέʔτͱ͔ Messaging APIͱLINE PayͰ͕ΔLINE Botͷੈք[201811݄03ϩάϥϛϯάੜ์ૹษڧձ@Fukuoka Gtowth Next] 43 -
·ͱΊ • LINE PayΛՃ͢Δ͜ͱͰɺ՝ۚΛLINEͰ݁Ͱ͖Δ • ECͰେ͖ͳίετΛ͔͚Δ͜ͱͳ͘ɺ͋ΒͨͳνϟϯωϧΛ ՃՄೳʂ • Ϗδωεͱͯ͠ऩӹ͕ੜ·ΕΔͷͱͳΔ •
εςοϓ͕ʹͳΒͳ͍Α͏ʹ͖Λ͚͍ͭͨʢϢʔβʔͷҰಈ࡞͕ 3ΫϦοΫҎ͠ͳ͍ͱΕͪΌ͏ʣ • ଞͷସ͑खஈΑΓޮత͔ʁͱ͍͏ࢹେࣄ Messaging APIͱLINE PayͰ͕ΔLINE Botͷੈք[201811݄03ϩάϥϛϯάੜ์ૹษڧձ@Fukuoka Gtowth Next] 44 -
• ςΩετϝοηʔδ • ελϯϓϝοηʔδ • ը૾ϝοηʔδ • Իϝοηʔδ Messaging APIͱLINE
PayͰ͕ΔLINE Botͷੈք[201811݄03ϩάϥϛϯάੜ์ૹษڧձ@Fukuoka Gtowth Next] 52 -
• Ґஔใϝοηʔδ • ΠϝʔδϚοϓϝοηʔδ • ςϯϓϨʔτϝοηʔδ • Flexϝοηʔδ • ΫΠοΫϦϓϥΠ
Messaging APIͱLINE PayͰ͕ΔLINE Botͷੈք[201811݄03ϩάϥϛϯάੜ์ૹษڧձ@Fukuoka Gtowth Next] 53 -
ελϯϓϝοηʔδ ελϯϓͰͷϝοηʔδૹ͕Ͱ͖Δɻ ͨͩ͠ɺBotଆ͔Βͷελϯϓ੍ݶ͕ ͋Γɺݱࡏ400ݸ͘Β͍ ૹՄೳͳελϯϓϦετ https://developers.line.me/ja/docs/ messaging-api/message-types/ Messaging APIͱLINE PayͰ͕ΔLINE
Botͷੈք[201811݄03ϩάϥϛϯάੜ์ૹษڧձ@Fukuoka Gtowth Next] 55 -
ϘλϯςϯϓϨʔτ ը૾ɺλΠτϧɺςΩετʹՃ͑ͯෳ ͷΞΫγϣϯϘλϯؚ͕·Εͨϝοηʔ δΛૹΔ͜ͱ͕Ͱ͖·͢ɻ Ϙλϯͷ΄͔ʹɺը૾ɺλΠτϧɺςΩ ετͷྖҬશମʹରͯ͠ɺϢʔβʔ͕ λοϓ͢Δͱ࣮ߦ͞ΕΔΞΫγϣϯΛ1 ͭࢦఆͰ͖·͢ɻ Messaging APIͱLINE
PayͰ͕ΔLINE Botͷੈք[201811݄03ϩάϥϛϯάੜ์ૹษڧձ@Fukuoka Gtowth Next] 62 -
messaging API ؔ࿈ϦϯΫ • ֓ཁυΩϡϝϯτ • https://developers.line.me/ja/docs/messaging-api/ • APIϦϑΝϨϯε •
https://developers.line.me/ja/reference/messaging-api/ • ϦϦʔεϊʔτ • https://developers.line.me/ja/docs/messaging-api/release- notes/ Messaging APIͱLINE PayͰ͕ΔLINE Botͷੈք[201811݄03ϩάϥϛϯάੜ์ૹษڧձ@Fukuoka Gtowth Next] 65 -
πʔϧ • (ެࣜ)Bot Designer • (ެࣜ)Flex ϝοηʔδγϛϡϨʔλʔ • LIFF πʔϧ
• LINE γϛϡϨʔλʔ • Rich Menus Manager Messaging APIͱLINE PayͰ͕ΔLINE Botͷੈք[201811݄03ϩάϥϛϯάੜ์ૹษڧձ@Fukuoka Gtowth Next] 66 -
Bot Designer • LINE BotͱͷձΛϓϨϏϡʔ͢ΔͨΊͷΞϓϦέʔγϣϯ (ެࣜ) • ར༻ऀͷϓϨθϯςʔγϣϯ • ϝοηʔδJSONδΣωϨʔλʔ
• ΠϝʔδϚοϓδΣωϨʔλʔ https://developers.line.me/ja/services/bot-designer/ Messaging APIͱLINE PayͰ͕ΔLINE Botͷੈք[201811݄03ϩάϥϛϯάੜ์ૹษڧձ@Fukuoka Gtowth Next] 67 -
Flex ϝοηʔδγϛϡϨʔλʔ • Flex Message ͷදࣔΛ֬ೝͰ͖ΔγϡϛϨʔλʔ(ެࣜ) • ϝοηʔδදࣔ֬ೝ • FlexϝοηʔδJSONδΣωϨʔλʔ
https://developers.line.me/ja/services/bot-designer/ Messaging APIͱLINE PayͰ͕ΔLINE Botͷੈք[201811݄03ϩάϥϛϯάੜ์ૹษڧձ@Fukuoka Gtowth Next] 68 -
LIFFπʔϧ • LINE Front-end Framework Λ؆୯ʹૢ࡞Ͱ͖Δ cli πʔϧ -syoyaࢯ ࡞
https://www.npmjs.com/package/liff Messaging APIͱLINE PayͰ͕ΔLINE Botͷੈք[201811݄03ϩάϥϛϯάੜ์ૹษڧձ@Fukuoka Gtowth Next] 69 -
LINE γϛϡϨʔλʔ • σόοά • ΠϯεϖΫλʔ • جຊػೳ/ϦονϝχϡʔରԠ • POC
Ϟʔυ https://github.com/kenakamu/LINESimulator/releases Messaging APIͱLINE PayͰ͕ΔLINE Botͷੈք[201811݄03ϩάϥϛϯάੜ์ૹษڧձ@Fukuoka Gtowth Next] 70 -
LINE γϛϡϨʔλʔ • σόοά • ΠϯεϖΫλʔ • جຊػೳ/ϦονϝχϡʔରԠ • POC
Ϟʔυ https://github.com/kenakamu/LINESimulator/releases Messaging APIͱLINE PayͰ͕ΔLINE Botͷੈք[201811݄03ϩάϥϛϯάੜ์ૹษڧձ@Fukuoka Gtowth Next] 71