Submit Search
Twilio API を PHP で触ってみよう
5 likes
17,172 views
Masashi Shinbara
2013/10/17 Twilio API 勉強会
Technology
Read more
1 of 51
Download now
Downloaded 25 times
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
More Related Content
PDF
Vagrant で PHP 開発環境を作る ハンズオン
Masashi Shinbara
PDF
Vagrant で作る PHP 開発環境 [実践編]
Masashi Shinbara
PDF
Heroku で作る スケーラブルな PHP アプリケーション
Masashi Shinbara
PDF
Ansible ではじめるサーバ作業の自動化
Masashi Shinbara
PDF
もう XAMPP / MAMP はいらない! Vagrant で作る PHP 開発環境
Masashi Shinbara
PDF
開発現場で活用するVagrant
Masashi Shinbara
PDF
わかってるフレームワーク Laravel
Masashi Shinbara
PDF
Azure Websites で作るスケーラブルな PHP アプリケーション
Masashi Shinbara
Vagrant で PHP 開発環境を作る ハンズオン
Masashi Shinbara
Vagrant で作る PHP 開発環境 [実践編]
Masashi Shinbara
Heroku で作る スケーラブルな PHP アプリケーション
Masashi Shinbara
Ansible ではじめるサーバ作業の自動化
Masashi Shinbara
もう XAMPP / MAMP はいらない! Vagrant で作る PHP 開発環境
Masashi Shinbara
開発現場で活用するVagrant
Masashi Shinbara
わかってるフレームワーク Laravel
Masashi Shinbara
Azure Websites で作るスケーラブルな PHP アプリケーション
Masashi Shinbara
What's hot
(20)
PDF
Vagrant体験入門
Masashi Shinbara
PDF
いまどきのPHP
Masashi Shinbara
PDF
Vagrant を Web開発環境に使う
Masashi Shinbara
PDF
ビルドサーバで使うDocker
Masashi Shinbara
PDF
Laravel ユーザなら知っておくべきAuthオートログイン
Masashi Shinbara
PDF
PHPコードではなく PHPコードの「書き方」を知る
Masashi Shinbara
PDF
BOSHでお手軽CFデプロイon AWS
i_yudai
PDF
AWS SDK for Smalltalk
Sho Yoshida
PDF
Elixir Meetup #1 Loggerの構造と拡張
Sugawara Genki
PDF
フィードフォースと AWS と私
a know
PDF
Terraforming
Tomoaki Yahagi
PDF
Lambdaによるクラウド型言語の実装
Sugawara Genki
PPTX
SpringOne 2015 報告会 - Lattice + Spring Cloud Netflix
Tommy Ludwig
PDF
DevStackで始めるCloud FoundryとBOSH
i_yudai
PPTX
Step by stepで学ぶTerraformによる監視付きAWS構築
Yo Takezawa
PDF
Fission で 始める Containerless Kubernetes #serverlesstokyo
y_taka_23
PDF
さくらのインフラコード
Yukihiko SAWANOBORI
PDF
Ansible 2.0を使って組む kubernetesクラスタ vol.1
Hidetoshi Hirokawa
PDF
Rubyを使った分散全文検索ミドルウェア
Kouhei Sutou
PDF
レイヤードアーキテクチャを意識した PHPアプリケーションの構築 ver2
Masashi Shinbara
Vagrant体験入門
Masashi Shinbara
いまどきのPHP
Masashi Shinbara
Vagrant を Web開発環境に使う
Masashi Shinbara
ビルドサーバで使うDocker
Masashi Shinbara
Laravel ユーザなら知っておくべきAuthオートログイン
Masashi Shinbara
PHPコードではなく PHPコードの「書き方」を知る
Masashi Shinbara
BOSHでお手軽CFデプロイon AWS
i_yudai
AWS SDK for Smalltalk
Sho Yoshida
Elixir Meetup #1 Loggerの構造と拡張
Sugawara Genki
フィードフォースと AWS と私
a know
Terraforming
Tomoaki Yahagi
Lambdaによるクラウド型言語の実装
Sugawara Genki
SpringOne 2015 報告会 - Lattice + Spring Cloud Netflix
Tommy Ludwig
DevStackで始めるCloud FoundryとBOSH
i_yudai
Step by stepで学ぶTerraformによる監視付きAWS構築
Yo Takezawa
Fission で 始める Containerless Kubernetes #serverlesstokyo
y_taka_23
さくらのインフラコード
Yukihiko SAWANOBORI
Ansible 2.0を使って組む kubernetesクラスタ vol.1
Hidetoshi Hirokawa
Rubyを使った分散全文検索ミドルウェア
Kouhei Sutou
レイヤードアーキテクチャを意識した PHPアプリケーションの構築 ver2
Masashi Shinbara
Ad
Viewers also liked
(17)
PDF
【B-1】kintoneでお手軽コールセンター!
Sakae Saito
PDF
Twilioを使ったAndroidのSMS認証の実装
Hiroyuki Nozaki
PPTX
今日からでもできる!とある企業のtwilio活用方法
Yoshimasa Yaguma
PPTX
Twilioでコールセンター
Toshiro Yagi
PDF
「自動電話リレーサービス」を作ってみてわかった、Twilioを使ったビジネスの可能性
Katsumi Takahashi
PDF
AWSアイデアソン20150509
Noriyuki Koide
PDF
Twilio を使えば簡単にできる アプリケーションと電話/SMS連携
Masashi Shinbara
PDF
コミュニティで歴史をつくろう!
Noriyuki Koide
PPTX
TwilioAPIやってみた(エンジニアちゃうけど)俺聞け7
Hiroko Osaki
PDF
Twilioが動いているところを見てみよう(仮)
Sakae Saito
PDF
Twilioビジネスセミナー資料
Katsumi Takahashi
PDF
Twilio jpug大阪(掲載用)20160227
Noriyuki Koide
PDF
Twilio Japan Summit 2014 presentation
Noriyuki Koide
PDF
TwilioコールセンターアプリRuna-CCA紹介
Naoki Ishimitsu
PPTX
【Twilio勉強会 with Bluemix in 福岡】 電話のボタン応答無しで!?音声認識による自動回答サービスを作ろう!
Masaya Fujita
PDF
電話とは何か、そして Twilio の正体
Kiminari Homma
PDF
Building Blocks for Next Generation Contact Centers
Twilio Inc
【B-1】kintoneでお手軽コールセンター!
Sakae Saito
Twilioを使ったAndroidのSMS認証の実装
Hiroyuki Nozaki
今日からでもできる!とある企業のtwilio活用方法
Yoshimasa Yaguma
Twilioでコールセンター
Toshiro Yagi
「自動電話リレーサービス」を作ってみてわかった、Twilioを使ったビジネスの可能性
Katsumi Takahashi
AWSアイデアソン20150509
Noriyuki Koide
Twilio を使えば簡単にできる アプリケーションと電話/SMS連携
Masashi Shinbara
コミュニティで歴史をつくろう!
Noriyuki Koide
TwilioAPIやってみた(エンジニアちゃうけど)俺聞け7
Hiroko Osaki
Twilioが動いているところを見てみよう(仮)
Sakae Saito
Twilioビジネスセミナー資料
Katsumi Takahashi
Twilio jpug大阪(掲載用)20160227
Noriyuki Koide
Twilio Japan Summit 2014 presentation
Noriyuki Koide
TwilioコールセンターアプリRuna-CCA紹介
Naoki Ishimitsu
【Twilio勉強会 with Bluemix in 福岡】 電話のボタン応答無しで!?音声認識による自動回答サービスを作ろう!
Masaya Fujita
電話とは何か、そして Twilio の正体
Kiminari Homma
Building Blocks for Next Generation Contact Centers
Twilio Inc
Ad
Similar to Twilio API を PHP で触ってみよう
(16)
PDF
Twilio TBS - 20140301
Joohoun Song
PDF
fukuokaphp7 PHP x twilio
ichikaway
PDF
phpcon2013 PHP x twilio
ichikaway
PDF
Twilio入門 -Web アプリ編-
Masashi Shinbara
PDF
日本語消えたスライド
Masashi Shinbara
PDF
Twilio API 勉強会 Vol.12 - アイデアを元にTwilioの機能を試してみる会
Joohoun Song
PDF
20130927 MA9 東京ハッカソン発表資料
Joohoun Song
PDF
Twilio api-jaws
Joohoun Song
PDF
第0回 Twilio勉強会 with JAWS UG in 福岡
Youhei Iwasaki
PPTX
Bluemixユーザー会発表資料 - デモ付き
twilioforkwc
PDF
【Twilio client】twiliox azureハンズオン
twilioforkwc
PDF
Twilio serveless architecture
Kiminari Homma
PPT
Twilio rubyhiroba
Joohoun Song
PDF
IPメッセージングはこうやって実装するのだ!
Sakae Saito
PDF
Twilioハンズオン資料 鹿児島
Joohoun Song
PPT
1221bot講習会
佑輔 小林
Twilio TBS - 20140301
Joohoun Song
fukuokaphp7 PHP x twilio
ichikaway
phpcon2013 PHP x twilio
ichikaway
Twilio入門 -Web アプリ編-
Masashi Shinbara
日本語消えたスライド
Masashi Shinbara
Twilio API 勉強会 Vol.12 - アイデアを元にTwilioの機能を試してみる会
Joohoun Song
20130927 MA9 東京ハッカソン発表資料
Joohoun Song
Twilio api-jaws
Joohoun Song
第0回 Twilio勉強会 with JAWS UG in 福岡
Youhei Iwasaki
Bluemixユーザー会発表資料 - デモ付き
twilioforkwc
【Twilio client】twiliox azureハンズオン
twilioforkwc
Twilio serveless architecture
Kiminari Homma
Twilio rubyhiroba
Joohoun Song
IPメッセージングはこうやって実装するのだ!
Sakae Saito
Twilioハンズオン資料 鹿児島
Joohoun Song
1221bot講習会
佑輔 小林
More from Masashi Shinbara
(12)
PDF
いまどきのPHP開発現場 -2015年秋-
Masashi Shinbara
PDF
先取り!PHP 7 と WordPress
Masashi Shinbara
PDF
レイヤードアーキテクチャを意識したPHPアプリケーションの構築
Masashi Shinbara
PDF
How to learn Laravel5 application from Authentication
Masashi Shinbara
PDF
認証機能で学ぶ Laravel 5 アプリケーション
Masashi Shinbara
PDF
VagrantユーザのためのDocker入門
Masashi Shinbara
PDF
キャラ立ちしたエンジニアになる!
Masashi Shinbara
PDF
Composer 再入門
Masashi Shinbara
PDF
PHP 5.5 Zend OPcache
Masashi Shinbara
PDF
サーバの防災訓練
Masashi Shinbara
PDF
Kansai PHP Users Group 2012年活動報告
Masashi Shinbara
KEY
10分で分かる最近のCakePHP
Masashi Shinbara
いまどきのPHP開発現場 -2015年秋-
Masashi Shinbara
先取り!PHP 7 と WordPress
Masashi Shinbara
レイヤードアーキテクチャを意識したPHPアプリケーションの構築
Masashi Shinbara
How to learn Laravel5 application from Authentication
Masashi Shinbara
認証機能で学ぶ Laravel 5 アプリケーション
Masashi Shinbara
VagrantユーザのためのDocker入門
Masashi Shinbara
キャラ立ちしたエンジニアになる!
Masashi Shinbara
Composer 再入門
Masashi Shinbara
PHP 5.5 Zend OPcache
Masashi Shinbara
サーバの防災訓練
Masashi Shinbara
Kansai PHP Users Group 2012年活動報告
Masashi Shinbara
10分で分かる最近のCakePHP
Masashi Shinbara
Twilio API を PHP で触ってみよう
1.
Twilio API を PHP
で触ってみよう 2013/10/17 shin1x1 Twilio API 勉強会
2.
Agenda • Twilioライブラリ • インストール •
電話を受ける • 電話を受ける(簡易 IVR) • 電話をかける • セキュリティ (c) 2013 Masashi Shinbara @shin1x1
3.
Twilioライブラリ (c) 2013 Masashi
Shinbara @shin1x1
4.
Twilioライブラリ • Twilio API
と連携するライブラリ • 主な機能 (REST API, TwiML, バリデーション) • 各言語版 (PHP, Ruby, Python, .NET, Java, Node.js, Salesforce, C++ 等々) (c) 2013 Masashi Shinbara @shin1x1
5.
Twilio PHP ライブラリ •
twilio-php • PHP 5.2 以上 • PEAR, ZIP, Composer • Composer でインストール (c) 2013 Masashi Shinbara @shin1x1
6.
インストール (c) 2013 Masashi
Shinbara @shin1x1
7.
コード https://gist.github.com/shin1x1/7006593 #twilioapistudy (c) 2013 Masashi
Shinbara @shin1x1
8.
Composer インストール $ cd
yourdir $ curl -s http://getcomposer.org/ installer | php $ ls composer.phar (c) 2013 Masashi Shinbara @shin1x1
9.
twilio-php インストール $ php
composer.phar require twilio/sdk devmaster $ ls composer.json composer.lock composer.phar vendor (c) 2013 Masashi Shinbara @shin1x1
10.
インストール確認 • サンプルスクリプト [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://xxx/yourdir/sample.php (c) 2013 Masashi Shinbara @shin1x1
11.
電話を受ける (c) 2013 Masashi
Shinbara @shin1x1
12.
電話を受ける 050-xxxx-xxxx Twilio Webサーバ (c) 2013 Masashi
Shinbara @shin1x1
13.
電話を受ける HTTPリクエスト (c) 2013 Masashi
Shinbara @shin1x1
14.
電話を受ける 処理を実行 TwiML生成 (c) 2013 Masashi
Shinbara @shin1x1
15.
電話を受ける TwiMLを返す (c) 2013 Masashi
Shinbara @shin1x1
16.
電話を受ける 音声を返す 電話を転送 応答を待つ等々 (c) 2013 Masashi
Shinbara @shin1x1
17.
電話を受ける HTTPリクエスト (c) 2013 Masashi
Shinbara @shin1x1
18.
電話を受ける TwiMLを返す (c) 2013 Masashi
Shinbara @shin1x1
19.
電話を受ける • HTTPリクエストが来たら • 何か処理をして •
TwiMLを返す 普通のWebシステムと一緒! (c) 2013 Masashi Shinbara @shin1x1
20.
作ってみよう! • 電話をかけると • 「こんにちは!」と言ってくれる •
TwiML 生成にライブラリを使う (c) 2013 Masashi Shinbara @shin1x1
21.
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://xxx/yourdir/inbound.php (c) 2013 Masashi Shinbara @shin1x1
22.
管理画面 URL を変更する http://hoge/yourdir/inbound.php 保存を忘れずに (c) 2013
Masashi Shinbara @shin1x1
23.
電話してみよう 050-xxxx-xxxx 「こんにちは!」が聞こえればok (c) 2013 Masashi
Shinbara @shin1x1
24.
電話を受ける (簡易IVR) (c) 2013 Masashi
Shinbara @shin1x1
25.
IVR • プッシュフォンで操作 • インタラクティブな操作を実現 •
電話の転送などもできる (c) 2013 Masashi Shinbara @shin1x1
26.
IVR • 宅配便の再配達依頼 • コールセンター案内 •
チケット購入 • などなど (c) 2013 Masashi Shinbara @shin1x1
27.
簡易IVR • アナウンスが流れる • 1
なら「1を押しました」 (c) 2013 Masashi Shinbara @shin1x1
28.
簡易IVR 050-xxxx-xxxx Twilio Webサーバ (c) 2013 Masashi
Shinbara @shin1x1
29.
簡易IVR HTTPリクエスト (c) 2013 Masashi
Shinbara @shin1x1
30.
簡易IVR TwiMLを返す <Gather> (c) 2013 Masashi
Shinbara @shin1x1
31.
簡易IVR 応答待ち (c) 2013 Masashi
Shinbara @shin1x1
32.
簡易IVR 1 をプッシュ Twilio Webサーバ (c) 2013
Masashi Shinbara @shin1x1
33.
簡易IVR HTTPリクエスト 「1が押された」 Digits = 1 (c)
2013 Masashi Shinbara @shin1x1
34.
簡易IVR TwiMLを返す <Say> (c) 2013 Masashi
Shinbara @shin1x1
35.
簡易IVR 「1を押しました」 (c) 2013 Masashi
Shinbara @shin1x1
36.
簡易IVR <?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; (c) 2013 Masashi Shinbara @shin1x1
37.
簡易IVR • アナウンスが流れる • 1
/ 2 / 3 / 9 を受け付ける • 1-3 なら「Nを押しました」 • 9 で終了 (c) 2013 Masashi Shinbara @shin1x1
38.
電話をかける (c) 2013 Masashi
Shinbara @shin1x1
39.
電話をかける HTTPリクエスト REST API Webサーバ Twilio 電話 (c) 2013
Masashi Shinbara @shin1x1
40.
電話をかける 通話に利用する TwiML取得 Webサーバ Twilio 電話 (c) 2013 Masashi
Shinbara @shin1x1
41.
電話をかける 050-xxxx-xxxx から電話! Webサーバ Twilio 電話 (c) 2013 Masashi
Shinbara @shin1x1
42.
SID / Token ACCOUNT
SID AUTH TOKEN https://jp.twilio.com/user/account (c) 2013 Masashi Shinbara @shin1x1
43.
電話をかける <?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://xxx/yourdir/outbound.php (c) 2013 Masashi Shinbara @shin1x1
44.
セキュリティ (c) 2013 Masashi
Shinbara @shin1x1
45.
Twilio からのリクエスト検証 • SSL(自己証明書はNG) •
Basic / Digest認証 • リクエストのバリデーション (HMAC-SHA1形式署名検証) (ライブラリで対応可) (c) 2013 Masashi Shinbara @shin1x1
46.
セキュリティページ https://jp.twilio.com/docs/security (c) 2013 Masashi
Shinbara @shin1x1
47.
まとめ (c) 2013 Masashi
Shinbara @shin1x1
48.
まとめ • Twilioとの連携は HTTP
の世界 • TwiML か REST API か • SMS には海外番号が必要 • 既存システムとの連携から (c) 2013 Masashi Shinbara @shin1x1
49.
参照 https://jp.twilio.com/docs (c) 2013 Masashi
Shinbara @shin1x1
50.
参照 http://blog.twilio.kddi-web.com/%E3%82%BC%E3%83%AD%E3%81%8B %E3%82%89%E3%81%AF%E3%81%98%E3%82%81%E3%82%8B%E3%81%9Ctwilio/ (c) 2013 Masashi
Shinbara @shin1x1
51.
@shin1x1 (c) 2013 Masashi
Shinbara @shin1x1
Download