Twilio Connect:Twilioのアプリケーション(サービス)の新たな提供方法。

今回のブログでは、Twilio Connectをご紹介致します。
Twilio Connectは、提供側のTwilioアプリケーション(サービス)をユーザー(利用側)のアカウントを使って認証を行い、Twilioの料金をユーザーのアカウントから支払うことが可能です。

仕組みとしましては、提供されるアプリケーションにTwilioのアカウントを持っているユーザーが認証を行うことで、提供側のアプリケーションからユーザーのアカウントにアクセスが可能な権限を与えることになります。これは、ユーザーのアカウントから認証された新しい「Account Sid」が発行され、提供側のAuth Tokenとの組み合わせでTwilio Connect アプリケーションの利用が可能になります。
この新しいAccount Sidは、ユーザー(利用側)のアカウントと繋がっていてTwilioの利用料金がユーザーのアカウントに課金されます。
ただ、Twilioから電話の発受信やSMSの送受信の際に必要な、Auth Tokenは、アプリケーション提供側のキーを使います。
第3の新しいAccount Sidは、全てAPIで利用することができるようになっているので、電話番号の購入から詳細を本ブログにてご紹介致します。

◎ Account SidとAuth Tokenを整理すると下記になります。
・Account Sid:ユーザーのアカウント(利用側)で認証を行い、新しく発行(認証)された Account Sid
・Auth Token:アプリケーション提供側の既存のAuth Token

※ Twilio Connect リファレンスはこちら。
https://jp.twilio.com/docs/connect

Twilio Connect App 作成

・メニュー:アプリケーション提供側
 ログイン → ツール → CONNECT APP → Connect Appを作成する をクリック

Create Connect App作成画面に遷移するのでそれぞれ情報を入力。

  • フレンドリーネーム:Connect Appを区別するための識別文字列。
  • 会社名:アプリケーション提供会社名を入力。
  • 説明:Connect Appの説明。
  • ホームページURL:提供するアプリケーションのサイトなどのURL。
  • 利用規約URL:アプリケーションの利用規約が掲載されているURL。
  • Authorize URL:ユーザーがアプリケーション利用のリクエストを送ったら、TwilioはこのURLにAccount Sidを「GET」で渡します。
  • Deauthorize URL:ユーザーがアプリケーションの利用を中止した場合、このURLに利用を中止したAccount SidとConnect App Sidを送信します。このリクエストは、Twilioが送信します。

◎ 作成済みの画面はこちら。
作成が終わったら「保存」の後、「コネクトボタンのHTMLを作成」ボタンをクリックします。
※ 画面の最後にある「アクセス必須」項目を、アプリケーションで提供する機能によって設定する必要があります。
2015-09-28 18.49.13.png

「コネクトボタンのHTMLを作成」ボタンを押下すると下記のようにHTMLコードが生成されます。
※ 注意!
日本のアカウントTwilio Connectを使う場合、<a>タグのURLを変更する必要があります。
(2015年10月5日、現在)

・変更前:https://www.twilio.com
・変更後:https://jp.twilio.com
2015-09-28 18.52.58.png

上記で生成された、HTMLコードを使って下記のようにHTMLファイルを作成しました。
作成したHTMLを実行すると、「Connect」ボタンが表示されます。
※ 「Connect」ボタンイメージは、自由に変更できます。
2015-09-28 19.05.04.png

「Connect」ボタンをクリックすると、Twilioはアカウントの認証を行い、認証を要求されたアカウントに問題がなければ、新たな「Account Sid」を発行します。ここで、「Allow」をクリックすることで、アプリケーション提供側にアカウントの利用権限を付与する(アプリケーションを使う)ことになります。

※ 注意!
・認証を行う、ユーザー側のアカウントは正式アカウントである必要があります。
・「Connect」ボタンをクリックする前に認証を行うアカウント(ユーザー側)でログインされている状態であるのをおすすめします。ログインされていない状態で「Allow」をクリックするとアメリカのアカウントと連動されるため、ログインリンク先がアメリカになってしまい、日本のアカウントでは正常にログインできない問題が発生する場合がありますので、ご注意ください。(2015.10.5、現在)
2015-09-28 19.08.22.png

認証済みのAccount SidをDBに格納。

上記の画面で、「Allow」をクリックすると、新たなAccount Sidが発行されますので、その情報(Account Sid)を下記のソースコードで、DB(MySQL)に格納します。
新しい「Account Sid」はGETに設定され「Authorize URL」に渡されますので、下記のようにDBに格納し、管理することをおすすめします。

購入可能な電話番号を検索。

ここまでにして、ユーザーのアカウントから提供側のアプリケーションを利用する準備ができました。
提供側のアプリケーションによりますが、Twilioを使うためには電話番号の購入が必要です。
下記のコードで、購入可能な電話番号を検索できます。
この、Account SidとAuth Tokenの設定はこの下の内容も同様です。
・$sid:ユーザーのアカウントにて認証された新たなAccount Sid
・$token:アプリケーション提供側のAuth Token

電話番号を購入。

上記の「電話番号検索」で出力された電話番号の一つを選んで購入します。
9行目のPhoneNumber:検索された購入可能な電話番号を設定。

購入した電話番号を確認。

電話番号の購入ができたら、下記のコードで購入した電話番号の確認ができます。

電話番号の設定変更。

下記のコードで電話番号のリクエストURLやフレンドリーネームなど、電話番号の設定変更ができます。

テスト:電話の発信を行う。

こちらのコードで電話をかけることができる。

まとめ

みなさんが、Twilioのアプリケーション(サービス)を一般ユーザー向けに提供を計画しているとき、Twilio Connectを使えば、Twilioの課金部分をユーザー(お客様)に負担してもらうことが可能です。
なお、ユーザーのアカウント取得以外は、APIでの制御ができますのでこの機能に興味のあるかたは是非試してみてください。

この記事をシェア


最新記事

すべての記事へ