Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
78
Help us understand the problem. What are the problem?

More than 5 years have passed since last update.

posted at

updated at

電話API? Twilio? PHPから電話の発信ができちゃいます!!

電話API? Twilio?

ご存知の方も多いかと思いますが、Twilioとは、クラウド型電話&SMS APIですね?
電話とウェブはもちろん、アプリケーション、様々なシステムなどからすんごく簡単に繋ぎます。
詳細はこちら。
http://twilio.kddi-web.com

Twilioは様々なプログラミング言語のライブラリを提供していて、PHPやRuby、JAVA、.NET、perlなどなど!のプログラミング言語から電話をかけることができる面白いAPIです。

今回はPHPを使って電話をかけてみます!

準備

① Twilioアカウント
まずは無料アカウントからTwilioの楽しみ、魅力を感じてみてください。
https://jp.twilio.com/try-twilio/kddi-web
※ 新規登録から取得したアカウントにはTwilioを体験できるポイントが設定されていて、無料でご利用可能です。

② ウェブサーバー
Twilioは基本、HTTPで通信を行い、TwiMLと呼ばれるXML形式のフィアルに命令を書きます。
その、TwiMLをウェブサーバーに格納しておけば、Twilioがそのファイルを参照し、Twilioを動かすことになります。

③ TwilioのPHPヘルパーライブラリ
ここからダウンロードできます。
https://jp.twilio.com/docs/php/install

他の言語のライブラリもありますよ。
https://jp.twilio.com/docs/libraries

この三つを用意すればPHPから電話をかける準備はオッケーです!
(開発に必要なものは各自準備してください!)

早速コードを書いてみます。

まず、ライブラリについては上記でダウンロードしたPHPライブラリのフォルダーの中に「Services」というフォルダーがあります。Servicesのみで構いませんので、参照先に配置してください。
※ ちなみにこのPHPファイル(発信を行うスクリプト)はウェブに公開されていなくてもオッケーです。

下記のソースコードを用意して、$sid 〜 $twiml までにみなさんの情報を入力します。

$sidと$token

Twilioのダッシュボードにログインするとトップ画面で確認可能です。
この二つのキーでアカウントを識別します。

$tel_to

発信先番号を記入します。記入方法は国際電話番号形式にしてください。
(080xxxxxxxx → +8180xxxxyyyy)のように!
※ トライアルアカウントの場合、新規登録の際に認証を行った電話番号にしか発信ができませんので、
 認証済みの電話番号を入力してくださいませ〜!

$tel_from

発信元電話番号を記入します。ここにはTwilioの050番号を設定します。
電話番号の確認、ダッシュボード → 電話番号から確認可能です。
※ 無料の新規登録で、1つの電話番号を取得可能です!

$twiml

上で簡単に説明しました!Twilioを動かす命令語が書いてあるファイルのパスを設定します。
※ このファイルはウェブ上(グロバール)に公開されている必要があります。
なお、このファイルのセキュリティーの面に関しては「ダイジェストとベーシック」を使った参照も可能になっていますので、ご安心ください。

twilio_call.php
<?php
    require("Services/Twilio.php"); // PHPライブラリ

    $sid = "ACxxxxxxxxxxxxxxxx"; // Account Sid
    $token = "yyyyyyyyyyyyyyyy"; // Auth Token
    $tel_to = "+8180xxxxyyyy";   // 発信先電話番号
    $tel_from = "+8150xxxxyyyy"; // 発信元電話番号
    $twiml = "http://xxx.xxx.xxx.xxx/twilio/calling.xml"; // TwiML URL

    $client = new Services_Twilio($sid, $token);
    $call = $client->account->calls->create($tel_from, $tel_to, $twiml);
?>

ここまで準備ができたら、次はTwiMLを書きましょう。
※ このファイルはウェブ上(グロバール)に公開されていてTwilioが参照可能な状態になっている必要があります。

calling.xml
<?xml version="1.0" encoding="UTF-8"?>
<Response>
    <Say language="ja-jp">Twilioへようこそ。</Say>
</Response>

さてさて、実行してみましょう!

php twilio_call.php

これを実行すると"$tel_to"の電話番号に電話がかかってきて、"calling.xml"に書いてあるメッセー
"Twilioへようこそ" が電話のメッセージとして再生されるようになります。

以上!PHPから電話を発信でした!
とっても簡単で、無料から始められますので、是非お試しください!

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
78
Help us understand the problem. What are the problem?