第7回 Twilioを使ってSMSを送信する

スポンサーリンク

twilioは「電話」をかけるだけでなく「メッセージ」を送信することも可能。

目的

SMSの送信
※Smsを使う場合は、Sms対応の番号が必要になります。番号検索で海外の番号を検索してみると使える番号があります。今回はアメリカ番号を使いました。

開発

今回はTwiMLを使う場合と、REST APIを使う場合それぞれ開発してみます。


まずは、TwiMLを使って、メッセージを送信する命令をxmlで書いてみます。
今回作成するxmlファイルは、sms.xmlとして作成します。

sms.xml

<?xml version="1.0" encoding="UTF-8"?>
<Response>
    <Say language="ja-JP">メッセージの送信を行います。</Say>
    <Sms from="+xxxxxxxxxx" to="+□□□□□□□□□□">メッセージを送信します。</Sms>
    <Say language="ja-JP">メッセージの送信が完了しました。</Say>
</Response>

1行目の

<?xml version="1.0" encoding="UTF-8"?>

は、xml宣言文と言われる一行。以降の文章構造はxmlで書いていきますよと宣言している。

2行目と6行目にある

<Response>
</Response>

は、TwiMLのルート要素。命令動詞は必ずこのResponseをネストするように記述していく必要がある。

3〜5行目の部分が命令動詞。

3行目の Say で発信者に対して「メッセージの送信を行います。」と読み上げる命令を出す。
4行目の Sms で実際にメッセージの送信を行う命令を出す。
属性の
formには、取得したtwilio番号を指定。
toには、送信先番号を指定。
5行目の Say で発信者に対して「メッセージの送信が完了しました。」と読み上げる命令を出す。

<Say language="ja-JP">メッセージの送信を行います。</Say>
<Sms from="+xxxxxxxxxx" to="+□□□□□□□□□□">送信したいメッセージをここに書きます。</Sms>
<Say language="ja-JP">メッセージの送信が完了しました。</Say>

sms.xmlファイルの記述が完了したら、サーバにアップロード。
後は、twilio番号とsms.xmlとのひも付けを行う。
ひも付け方法はこちら
※それぞれの環境にあわせてURLの入力を変更する必要があります。

ひも付けが完了したら実際にtwilio番号にコール。
設定した番号にメッセージが送信されたら成功。


REST APIを使ってメッセージを送信する場合(使用言語:PHP)

REST APIを使ったSMS送信の方法は下記ドキュメントを参考にしました。
https://jp.twilio.com/docs/api/rest/sending-messages

sms.php

<?php 
// ライブラリーまでのパス 
require('/path/to/twilio-php/Services/Twilio.php'); 

// twilioの管理ページ内の「アカウント」よりsidとautotokenを確認 
$account_sid = 'ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'; 
$auth_token = '[AuthToken]'; 

// インスタンスの作成 
$client = new Services_Twilio($account_sid, $auth_token); 

// メッセージの送信実行 
$client->account->messages->create(array( 
    'To' => "+xxxxxxxxxx", 
    'From' => "+□□□□□□□□□□", 
    'Body' => "hello twilio!", 
));
?>


まず、REST APIを使うためにライブラリーをダウンロードする必要があります。
ライブラリーダウンロードページ:https://jp.twilio.com/docs/libraries
お使いの言語のライブラリーをダウンロードします。
ここではPHPライブラリーをダウンロードします。

ダウンロードしたらサーバにフォルダーごとアップロード。
そのフォルダー内にある Twilio.php までのパスを3行目のrequireのパスに設定。

6〜7行目にある SID と authToken は管理ページ内にて確認可能。
確認方法:「アカウント」→「API クレデンシャル」

10行目で、インスタンスを作成。引数に SID と authTokenの値を使用。

13行目で、メッセージの送信メソッドを使って送信処理開始。

設定が終わったら sms.php をデプロイ。
twilio番号とsms.phpのひも付けを行い、twilio番号にダイヤル。もしくはsms.phpにアクセス。

実際にメッセージが送信されたら成功。

参考文献

Sms命令動詞の概要:https://jp.twilio.com/docs/api/twiml/sms
・Twilioは電話だけではない、API経由でSMSの送信(SMS):https://www.youtube.com/watch?v=ZWCUaf2B-t4

スポンサーリンク
スポンサーリンク
スポンサーリンク

フォローする

スポンサーリンク
スポンサーリンク