このページの本文へ

PROGRAMMING Twilioではじめるクラウド電話開発 ― 第1回

たった4行で電話が作れるAPI「Twilio」とは?

2013年05月30日 11時00分更新

江草正庸/ニフティ

  • この記事をはてなブックマークに追加
本文印刷

 アメリカで話題のWeb APIサービスTwilio(トゥイリオ)が日本でも始まりました(関連記事)。

日本でも始まったTwilio
日本でも始まったTwilio

 Twilioは簡単に言うと、「Webから電話を簡単に操作できるAPI」です。ほとんどの連絡をメールやSNSで済ませるようになった昨今、「いまさら電話?」と思った方もいるかもしれません。しかし、エンジニアの視点から、またサービス企画の視点から見て、Twilioは実に多くの可能性を秘めたAPIなのです(筆者もまた、その可能性に注目している1人です)。

 Twilioを使うと何ができるのか? どんな可能性があるのか? その魅力を、連載を通じて紹介しましょう。

まずはTwilioを体験してみよう

 Twilioとはどんなものなのか? まずは手元の携帯電話などから以下の番号に電話をかけてみてください(通話料がかかります)。

050-3159-6680

 電話につながると、ややぎこちない女性の声でメッセージが流れたと思います。実はこの自動応答システム、Twilioを使って、たった4行のコードだけで実現されています。

<?xml version="1.0" encoding="UTF-8"?>
<Response>
<Say language="ja-jp" voice="woman">はじめまして。電話をかけてくれてありがとう!</Say>
</Response>

 見てのとおり、ものすごく簡単ですよね? TwilioはWeb APIと言いましたが、このようなシンプルなシステムであれば、ごく簡単なコードを書くだけで電話を制御できます。さらに、ちょっとしたコードを追加すると、宅配便の再配達受付サービスのように番号入力を受け付けたり、通話相手の音声を録音したりするしくみも作れます。

 その方法は後ほど順に追ってみていくとして、まずは「Twilio」でどのようなことができて、どのような魅力があるのかを簡単に紹介しましょう。

お詫びと訂正:掲載当初、記事タイトルが「たった5行で」となっていましたが、正しくは「たった4行で」の誤りです。お詫びして訂正いたします。(2013年5月30日)

開発者にやさしいTwilioの魅力

 Twilioの最大の魅力は、前のサンプルでも見たとおり、とにかく手軽に電話の機能をコントロールできるということです。いままで電話と連携したシステムを構築するには、PBXを構築して電話網に接続する必要があり、莫大な初期開発費用と手間が掛かっていました。

 Twilioはクラウド型のAPIとして提供されているので、初期費用がかからず、ビジネスのスモールスタートが可能です。また、クラウド型なので、必要な時に必要な分だけオンデマンドで利用でき、スケールアップ/スケールアウトを意識する必要がありません。すでに海外40カ国で展開されているので、日本国内で構築したシステムをそのまま海外でも利用できる点も魅力でしょう。

 機能も充実しています。前の例のように電話を受けるだけでなく、以下のように、電話をかけたり、(日本ではまだ実現していませんが)SMSを送受信したりもできます(詳しくはTwilio機能も参照してください)。

  • 電話をかける/受ける
  • SMSを送受信する(※2013年5月現在は日本未対応)
  • パソコン、スマートフォン、タブレットから電話をかける/受ける
  • 電話番号の取得、通話の追跡/解析
  • 音声の再生/録音
  • IVR(自動応答システム)の構築
  • グループ通話、指定番号への転送、etc...

 また、創業者であるジェフ・ローソン氏がエンジニア出身ということもあり、APIやSDK、ドキュメントなど、開発者がアプリケーション開発に専念できる環境が揃っています。具体的には、用途別に以下の3つのAPIが用意されています(詳しくはAPIドキュメントを参照してください)。

Twilio REST API
通話発信やテキストメッセージの送信ができるREST形式のAPIです。RESTfulに設計されていますのでシンプルで直感的に利用できます。
TwiML
通話やSMSを受信した時の動作を指示できるTwilio独自のマークアップ言語です。 TwiMLを複数リンクすることで複雑な音声処理アプリケーションも作成できます(前のデモもこちらで実現しています。手順は連載の第2回で紹介します)。
Client API
ブラウザー、スマートフォン、タブレットでデータ接続を使用して通話できます。提供されているライブラリーやSDKを使用することで、既存のアプリケーションにそのままTwilioクライアント同士の通信機能を埋め込めます。

 REST APIやXML形式のTwiMLはシステム連携がしやすく、さまざまな言語(Ruby、PHP、Java)やフレームワーク(Ruby on Rails、FuelPHP)のライブラリーが提供されています。サンプルも充実していることから、アメリカでは新入社員のプログラミング演習でよく利用されているようです。

こんなにあるTwilioの活用事例

 さまざまな機能があるTwilioですが、いま注目されている大きな理由の1つが、実際に広く使われているという事実です。アメリカではHulu」「Salesfoce.com」「Airbnb」を始め20万人以上の開発者にTwilioのAPIが利用されています。

 HuluはTwilioでコールセンターを構築することで、スピーディに低コストでシステムを構築するとともに、クラウド型のメリットを生かして海外進出の際にもスムーズに横展開できたとのことです。また、大量のコール処理を一時的に必要とされる選挙や投票システムの事例も、クラウド型の恩恵を受ける事例と言えるでしょう(事例についてはTwilioカスタマー(英語)へ)。

 スマートフォンやタブレットと連携した電話システムの構築はもちろん、あらゆるデバイスから簡単に電話と連携できることから、テレビや冷蔵庫のような電化製品から電話コールするといったことが当たり前の時代がくるかもしれません。

 いままで実現が難しかった「デバイス」+「電話」によるさまざまな可能性が広がることで、新しいイノベーションのアイデアが次々と生まれてくるでしょう。

この記事の編集者は以下の記事をオススメしています

ASCII.jp会員サービス 週刊Web Professional登録

HTMLリファレンス誘導バナー

CSSリファレンスサイト誘導バナー

Webディレクター江口明日香が行く

ランキング