PHP
twilio

Twilio簡単に

Twilioとは

KDDIウェブコミュニケーションズの提供する「Twilio」は、たった数行のコードで電話やSMSとネットをつなぐことのできるクラウドAPIサービスです。
電話を掛けたり、着信を受けたり、音声を録音出来たりするらしい。

アラートの連絡に使えるのでは?

とりあえず準備

https://jp.twilio.com
twilioサイトでアカウント取得してログインする

環境つくる

この辺の言語のSDKが用意されている様子。

  • C# / .NET
  • Java
  • Node
  • PHP
  • Python
  • Ruby

https://jp.twilio.com/docs/libraries/php
ここにPHPでの方法が書いてある

電話をかけてみる

XMLでしゃべる内容を定義する

XMLにしゃべらせる内容を記載して、どこか外部からアクセスできるところに設置する。

hoge.xml
<?xml version="1.0" encoding="UTF-8"?>
<Response>
    <Say voice="woman" language="ja-jp">
        Core DB が落ちました。
        事故です。
        ヤバいです。
        スプラトゥーンを中断して早く対応してください。
    </Say>
    <!-- mp3も電話で再生可能 -->
    <Play>http://demo.twilio.com/docs/classic.mp3</Play>
</Response>

電話かけるPHPを用意

sidとtokenをダッシュボードで確認しておく。

image.png

sample.php
<?php
require_once __DIR__ . "/vendor/autoload.php";

use Twilio\Rest\Client;

// SIDとTokenはtwilioの管理画面で確認できます
$sid = "***";
$token = "***";
$client = new Client($sid, $token);

$call = $client->calls->create(
    "+819000000000", // ←掛けたい電話番号 +81で初めて090の最初の0は省く
    "+815000000000", // ←発信元の番号。twilioのダッシュボードから
    array("url" => "http://xxxx/hoge.xml") // XMLのURL。パブリックじゃないとダメ
);

echo $call->sid;

上記PHPをコマンドラインで実行するだけでtwilioから電話がかかってきます。

twilioダッシュボードで通話履歴も確認できる

image.png

業務でつかう前に課題

  • XMLをどこに置くか、IP制限かけられるのか調べる必要あり