2016年、オープンになったLINEのチャットボットAPIは、どう活用されたのか:API Meetup Tokyo 17(2/2 ページ)
「API Meetup Tokyo #17 〜年末スペシャル〜」で、Web APIの適用事例として「LINEのchatbot展開」をテーマにした講演が行われた。本稿では、この講演の内容についてレポートする。
今後の展開
今後の展開について二木氏は、「『Messaging API』を正式公開してから現在までに、すでに2万アカウントが開設されており、予想以上の反響があった。今後は、クリエイターがユーザー1人1人に対して、最適なコンテンツ・情報を、最適なタイミング・頻度で、最適なトーン・温度感で提供できる対話型プラットフォームへと『Messaging API』を進化させていきたい」との考えを示した。
「Messaging API」の仕組み
続いて、「Messaging API」の技術的なポイントを、LINE サービス開発1室の長谷部良輔氏が説明した。
まず、ユーザーがチャットボットに送ったメッセージを受け取る仕組みについては、「LINEアプリからユーザーが送ったメッセージは、LINE Platformで受け取り、JSONにシリアライズして開発者のボットサーバにHTTPSで送られる。開発者は、『developers.line.me』のサイトからWebhookURLを登録し、HTTPSでボットサーバを立ち上げるだけで、メッセージを受け取ることが可能になる」(長谷部氏)という。
受け取れるメッセージの種類としては、テキスト、イメージ、動画、音声、位置情報、スタンプ、Follow event、Unfollow event、Join event(グループ/ルーム)、Leave event(グループ/ルーム)、Postback event、Beacon eventなどがある。
一方、開発者のボットサーバからユーザーに向けてメッセージを配信する場合は、「『developers.line.me』でaccess tokenを取得し、ボットサーバからLINE Platformに対してAPIを呼び出すことで、ユーザーのLINEアプリにメッセージが送られる仕組みとなる。メッセージを送る方法には、ボットサーバから能動的に配信できる『プッシュ』と、ユーザーが送ったメッセージに対して即時に返信する『リプライ』の2種類があり、『リプライ』については無料で利用できるようになっている」(長谷部氏)とのこと。
配信できるメッセージの種類は、テキスト、イメージ、動画、音声、位置情報、スタンプ、イメージマップに加えて、「Messaging API」の正式公開に合わせてConfirm、Buttons、Carouselの3種類が新たに用意された。Confirmは、シンプルにyes or noなど2つのアクションを提示するタイプ。Buttonsは、画像やテキストなど複数のアクションボタンを組み合わせた、ちょっとおしゃれなメッセージ画面を配信できるタイプ。そして、Carouselは、Buttonsの画面を横方向にスクロールする形式で複数配信できるタイプとなる。
なお、同社では現在、開発者向けに、Ruby、Perl、Java、Go、PHP、Pythonの各言語に対応した「Messaging API」の公式SDKをリリースしている。長谷部氏は、「より多くの開発者がLINEのチャットボットを作りやすい環境を提供しているので、ぜひ活用してほしい」と呼び掛けて講演を締めくくった。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- Microsoft Bot Frameworkでボットを作成してみよう
マイクロソフトが突如として発表したBot Framework。これを使ってボットを作成するための基本を見てみよう。 - 個人と対話するボットの裏側――大衆化するITの出口とバックエンド
マシンラーニング、ディープラーニングなど、未来を感じさせる数理モデルを使ったコンピューター実装が注目されている。自ら学習し、機械だけでなく人間との対話も可能な技術だ。では、コンピューターはどのように人間との対話を図ればよいのだろうか。コンピューターの技術だけでなく、そこで実装されるべきインターフェースデザインを考えるヒントを、あるコンシューマーアプリ開発のストーリーから見ていく。 - GitHub製フレームワークHubotの概要とインストール、チャットアプリと連携する基本的な使い方
GitHub社が開発しているbotフレームワークHubotを使ってチャットアプリ上でチーム開発をいかに効率化していくかを解説していきます。初回は「ChatOps」の有用性とHubotの概要、セットアップ方法、OSSのチャットアプリとの連携方法について。