ボクココ

個人開発に関するテックブログ

実はこんなにあった Twilio のサービスを紹介

ども、@kimihom です。

みなさんは Twilio 使っているだろうか?「あ〜あの電話かけられる API でしょ」という方は、それはもう3年以上前に出会ったっきりで終わっていることだろう。あれから Twilio はアメリカで上場を果たし、さらなるサービス提供を進めている。てことで今回は日本で Twilio を使って何かやっていく場合に有益になるそうなサービスを全て紹介していく。もしかすると、今すぐにでも欲しい API が見つかるかもしれない。

twilio.kddi-web.com

プログラマブル Voice

まずは一番メジャーな音声通話の API 。050/0800/0120 番号を取得し、その番号に対してあらゆる命令を投げかけることができる。例えば API で電話を発信できちゃったり、通話中に API を呼んで何かに切り替えたりと、複雑な音声技術を API を呼ぶだけで実現できてしまう。 今でも Twilio 最大の強みは Voice だと思うので、まずは Voice で感動を味わってみていただきたい。API で「すごっ」と思う数少ない経験をすることができるだろう。

プログラマブル Fax

Fax を API で呼ぶことのできる仕組み。 PDF や PNG 画像で Fax を送ることができ、またさらに受信もできる。Twilio の提供する 050 番号なので、その番号は Fax もできるし電話もできるような番号にすることが可能だ。特に日本は Fax 文化が強いので、電話/Fax を組み合わせた何かが出て来てくるのが望まれていると思う。

プログラマブル Video

Twilio のビデオ通話のプラットフォームだ。日本では Skyway がメジャーだとは思うが、 Twilio もビデオ通話のプラットフォームを提供している。今までの Twilio Video は P2P 接続のみのサポートだったが、つい最近、サーバーを経由したビデオ通話(SFU) を提供している。これにより、通話の録画や同時50人までの通話が可能になった。

プログラマブル Chat

Twilio のチャットのプラットフォームである。一般的なチャットを作るには、 ユーザー/会話部屋/メッセージ/招待/権限・・・などなど、共通の実装が必要になる。これらを全て API で提供し、基本的なチャットをサーバーのコードを限りなく少なくし、データ自体も Twilio に保存してくれるような仕組みを提供している。これによって誰でも本格的なチャットシステムを構築することが可能になる。

Sync (beta)

Sync はまさに Firebase のリアルタイムデータベースのようなものだと考えていただいて良いかと思う。Firebase は基本的に JSON のみのモバイルにフォーカスされたプロダクトかと思うが、 Sync には JSON(ドキュメント) によるデータ同期の他に、 List や Map といった同期のためのデータ構造を用意してくれる。先ほどの Chat の部分のデータプッシュ周りのみにしたシンプルなサービスである。

Proxy (beta)

Proxy は匿名コミュニケーションのプラットフォームだ。Airbnb や Uber を使ったことがある方なら経験がある通り、知らない相手とやりとりするために間に仮の番号を発行し、その番号を通して電話やメッセージをやりとりすることでプライバシーを守るための仕組みを提供してくれる。 Proxy を使えば、利用する番号を良い感じに調整してくれたり、相手と結びつけを行ったりすることを簡単にしてくれる。今後は プログラマブル Chat / Facebook Messenger といったチャネルでの匿名通話が可能になるとのこと。

Channels (beta)

存在するあらゆるチャンネル LINE/メール/Slack/Twitter/Facebook/Alexa を使って相手とメッセージの送受信が可能になるプラットフォーム。相手が LINE でこっちが Facebook といったコミュニケーションを可能にしてくれる。通常、こういうのを作るには全てのプラットフォームに対応した SDK を用意し、そのための実装が必要だったが、Channels によって決まったコードを書くだけであらゆるチャンネルに対応したコミュニケーション・ハブを構築できる。

Notify (beta)

Notify は通知をするためのプラットフォームだ。サービスで色々なチャネルを提供していると、ユーザーに通知を送りたいデバイスがどんどん増えてくる。iOS, Android, Facebook Messenger, SMS など。これらにおいて優先度(今開いているデバイスが優先度高)をつけ、反応しなかったら次の優先度のデバイスに通知するようなスマートな通知を提供することができる。

プログラマブル Wireless (beta)

電話機能付きの プログラム可能な SIM カードの提供。API を通じて SIM の操作が可能で、日本でもローミングを使って通信が可能。まだ SIM 自体が前回の Signal カンファレンスで配れた段階なので、まだ一般の手に普及するには時間がかかるが、音声通話付き SIM ということで Twilio Voice との連携などが可能になる。

Authy

2段階認証のためのプラットフォーム。Google Authenticator が有名かとは思うが、 Authy は電話/SMS/アプリといったチャネルでの2段階認証が可能で、今後はアプリのプッシュ通知で認証を通すといった手軽さを実現できる。アメリカでは Authy はかなりの人気アプリなんだけど、日本語化されていないせいか日本での普及は今ひとつといったところ。日本語化に期待したい

タスクルーター

電話/SMS/チャット/ビデオ通話 といったあらゆるチャネルのサポートを一元管理し、大量の問い合わせが来た時に最適な1つの問い合わせにオペレーターを紐づけるための仕組み。Twilio としては電話だけでなくあらゆるチャネルを提供しているため、タスクルーターを使ってどんなチャネルから問い合わせが来ても、スマートに顧客とのやりとりができるようにしたいと考えている(Contexual Communication: 文脈を把握した会話)。

Runtime (beta)

Twilio を利用するには、従来は何かしらプログラムを動かせるサーバーが必要だった。しかし Runtime の Functions を使えば実行可能なコードを Web 上で記述し、実行することができる。AWS でいう Lambda + API Gateway のような仕組みが Twilio で使えるという感じ。電話操作する何か作りたいんだけど、サーバー用意するまでもないといった場合には便利。また S3 のようなファイルストレージである Assets も提供しているため、頑張れば Runtime だけでそれなりのシステムを作ることができる。

終わりに

きっと多くの読者の方は今の Twilio はこんなにあったのか!と思ったことだろう。実際アメリカでは相当多くの開発者が Twilio を使って手間をかけずに高品質なサービスを作り上げている。車輪の再発明は終わりにしよう。もっとユーザーに価値を与えられる部分に力を入れていくために、Twilio は大きな力になってくれることだろう。

ベータ多すぎ?確かに多いけどそういうのをいち早く飛びついた方が、最初の素晴らしいサービスを提供できるのではないかな。

ところでそんな Twilio なんだけど、今月末に東京で割と大きめなイベントをやるからチェックしてみてね!

twiliomeetup.doorkeeper.jp