各社がボットAPIをリリースしています。メッセージはテキスト主体のサービスなので、開発がしやすいこと、メッセージを解析することでユーザに自然言語的なレスポンスを返してサービス提供できるのが魅力です。
そこで今回は各社がリリースしているボットAPIをまとめて紹介します。
HipChat - API v2 - Getting started
企業での利用が多いチャットサービスHipChatではREST APIによるメッセージの送信とWebHooksを使ったメッセージの受信をサポートしています。さらにカード型というJSONフォーマットによる特殊なテンプレートも実現します。
Office Dev Center - Skype
世界最大規模のチャットネットワークを誇るSkypeでもボット機能があります。Azure上で簡単にボットが構築できる機能がありますが、APIも公開されているようです。
REST APIs | Twitter Developers
TwitterのAPIでは受信に関するWebHooksはありません。その代わりにストリーミングAPIが提供されており、それを使ってリアルタイムにツイートデータを受信できます。ただしキーワードによる絞り込みが必要です。
LINE Developers - BOT API - Overview
LINEではWebHooksを使ったメッセージの受信に加えて、スタンプなどの多彩なフォーマットでメッセージが送信できるようになっています。
Bot Users | Slack
Slackでは受信のWebHooks、送信のREST APIに加えて、新しいボットを開発する機能もあります。ボットマーケットも整備されており、開発したボットを配布するのに使えます。
Messenger Platform
Facebook Messengerでは1対1のコミュニケーションが基本となります。写真などのメディアを受信することができ、送信時にはボタンや写真付きレイアウトを指定することができます。
Bot Code Examples
Telegramはセキュリティの高さを謳っているメッセンジャーサービスです。WebHooksを使ったメッセージの受信が可能です。写真やビデオなどのメディア情報が構造的に渡ってきます。
Kik Bot Dashboard
カナダ製のメッセンジャーサービスです。ボットショップもすでに整備されています。タイピング情報まで取得できるWebHooks機能があります。テキスト、リンク、ステッカーなどのオブジェクトを指定して送信します。
IMified - IMified API
外部サービスを巡回して、JabberやAIM、SMS、Twitterなどで通知してくれるサービスです。それらのメッセージを受信して別なメッセージを送信するといったボットが開発できるようです。
Webhook | Typetalk | Nulab Developers
チームチャットサービスです。WebHooksによるメッセージ受信をサポートしています。ボットに対するメンションだけを送信してくれます。
いかがでしょうか。多くのチャットボットAPIはWebHooksをサポートする形で、似たような形式となっています。一つの形に慣れてしまえば、他のサービスに乗り換えたとしてもボットを開発するのはさほど難しくなさそうです。
ユーザからデータを得て、何を処理するかを考えてみましょう。