Twilioブログ

Twilioを触りながら楽しいアイデアを実現させましょう!Twilio API 勉強会 @大阪

20131020-01.jpg

 

Twilio API 勉強会 @大阪

2013 年 10 月 18 日(金)大阪の株式会社 TAM でクラウド電話 API Twilio のハンズオンイベント「Twilio API 勉強会」を開催致しました。
まだまだ新しい電話 API Twilio に興味を持っているデベロッパーのみなさんが参加し、同じく Twilio に興味を持っている人との交流や Twilio の楽しさや可能性などを語りながら約 3 時間の勉強会を楽しみました。

 

今回の勉強会では!

  • セッション1 : Twilio の概要や事例紹介、新規登録など
  • セッション2 : Twilio の管理画面や TwiML の作成方法、curl
  • セッション3 : Twilio のライブラリ (PHP)

 

今回の勉強会は下記の方々に協力をいただきました。

 

Twilio API 勉強会ハッシュタグ
#twilioapistudy

 

クラウド電話 API Twilio

20131020-02.jpg

 

最初に Twilio の説明を行いました。
今回の勉強会には既に Twilio を使っている方や新しい電話 API に興味を持ち始めた方々が参加し、Twilio の概要や使い方、作成方法、Twilio が動く仕組みなど、説明だけではなく実際に Twilio を触りながら感じることができる内容で勉強会を進みました。

このセッションでは以下の 2 つについて説明しました。

 

  • TwiML を使った inbound
  • curl での outbound

 

TwiML を作成してみましょう!

 

まず、最初は簡単な TwiML から。
電話をかけてみましょう!

  1. 勉強会用に準備した遊び場(ウェブサーバー)に皆さんが書いた TwiML (上記のコード)を各自のフォルダーに格納します。
  2. Twilio の「Request URL(Twilio 電話番号)」に TwiML が格納されている URL を設定します。
  3. 各自の Twilio 電話番号(050 番号)に電話をかける!
  4. 自分が書いたメッセージが電話にて確認できました〜

 

TwiMLの詳細はこちら : http://jp.twilio.com/docs/api/twiml

 

curl!コマンドで電話をかけてみましょう!

今回はみなさんがかけるのではなく、皆さんの電話に電話をかけてみましょう!
上のコマンドをターミナルなどで流せば皆さんの電話に電話をかけてくれます。
そのとき、再生されるメッセージや電話の処理は 4 行目に指定した「TwiML」で動作します。

 

Twilio API を PHP で触ってみよう!

20131020-03.jpg

 

Twilio API 勉強会 @大阪 では、1 x 1 株式会社新原さんより「Twilio ライブラリ」を利用して電話をかけるセッションを行いました。
Twilio で提供している様々なライブラリの中で、今回は PHP を使って Twilio の機能を試してみました。
Twilio ライブラリの説明はもちろん、PHP に対するアドバイスまで参加者の皆さんとTwilio と PHP で楽しい講演を行ってくださいました。

勉強会には Twilio やコマンドの実行、PHP などが得意ではない方々も参加しましたが、新原さんを中心に参加の皆さんと知識を共有しながら、皆が Twilio で電話の inbound や outbound を試す事ができました。

Composer インストール


$ mkdir yourdir
$ cd yourdir
$ curl -s http://getcomposer.org/installer | php

$ ls
composer.phar

インストール


$ php composer.phar require twilio/sdk dev-master

$ ls
composer.json composer.lock composer.phar vendor

サンプル(sample.php)

<?php
require_once __DIR__.'/vendor/autoload.php';

$xml = new Services_Twilio_Twiml();
$xml--->say('Hello!');

header('Content-type: text/xml; charset=utf-8');
echo $xml;

http://example.com/yourdir/sample.php

電話をかける(inbound.php)


<?php
require_once __DIR__.'/vendor/autoload.php';

$xml = new Services_Twilio_Twiml();
$xml--->say('こんにちは!', array('language' => 'ja-jp'));

header('Content-type: text/xml; charset=utf-8');
print $xml;

http://example.com/yourdir/inbound.php

簡易IVR(inbound.php)


<?php
require_once __DIR__.'/vendor/autoload.php';

$xml = new Services_Twilio_Twiml();

if (empty($_POST['Digits'])) {
  $digit = null;
} else {
  $digit = (integer)$_POST['Digits'];
}

if ($digit == 1) {
  $xml--->say('1を押しました。', array('language' => 'ja-jp'));
} else {
  $xml->say('こんにちは!1 を押して下さい。', array('language' => 'ja-jp'));
}

$xml->gather(array('numDigits' => 1, 'timeout' => 30));

header('Content-type: text/xml; charset=utf-8');
echo $xml;

http://example.com/yourdir/inbound.php

電話をかける(outbound.php)


<?php
require_once __DIR__.'/vendor/autoload.php';

$sid = 'xxx';
$token = 'xxx';

$client = new Services_Twilio($sid, $token);

$ret = $client--->account->calls->create(
    '+81-xx-xxxx-xxxx', // From number(Twilio)
    '+81-xx-xxxx-xxxx', // To number(Your phone number)
    'http://demo.twilio.com/docs/voice.xml'
);

var_dump($ret->sid);

http://example.com/yourdir/outbound.php

勉強会の様子

 

20131020-04.jpg20131020-05.jpg20131020-06.jpg20131020-07.jpg20131020-08.jpg20131020-09.jpg

 

我々は Twilio ユーザー、仲良く楽しく!

 

20131020-10.jpg20131020-11.jpg20131020-12.jpg20131020-13.jpg20131020-14.jpg20131020-15.jpg

 

みなさんお疲れさまでした!

 
20131020-16.jpg

まとめ

Twilo は、新しいサービスの開発はもちろん、既存システムへの投入など、今までは複雑だった電話のシステムを特に設備も要らず、数行のコードを書くだけでウェブや様々なシステムと電話を繋いでくれるので幅広く使われる可能性の高い API です。
これからも Twilio API 勉強会は日本中のみなさんと、楽しさや新しい可能性を Twilio を触りながら実現させて行きたいと思います。

楽しみから新しいアイデアの実現ができる勉強会「Twilio API 勉強会」をお楽しみに!

 

クラウド電話 API Twilio に関する情報はこちら!

Twilio事業部
Twilio事業部

KDDIウェブコミュニケーションズは、日本初のTwilioパートナーとして常に「開発者目線」を大切にしており、ブログ記事がお役に立てれば幸いでございます。

CTA_まずはtwilioを使ってみる。

Share!!

  • お役立ち情報
  • イベント情報
  • 相談会申込
  • 導入事例