#はじめに
Twilioを業務で使うこととなり、いろいろと調べてSMSテスト送信までできるようになったのでそこまでの手順をまとめます。
#想定環境
私は以下の環境で試しました。
OS:Windows10
PHP:7.4.20
事前にTwilioで無料アカウントを作成しておき、SMS送信を行う電話番号を取得しておきます。
使うSIDとトークンはダッシュボードに記載のあるものを利用します。
#手順
###1.PHPを使えるようにする。
以下URLからPHPを入手して適当なフォルダに保存します。今回はC:\phpに保存しました。
https://www.php.net/downloads
php.iniはphp.ini-developmentをコピーして利用しています。
その後、pathを通してphpコマンドが使えるようにしておきます。
###2.PHPでCurlを使えるようにする。
php.iniを修正してcurlを実行できるようにします。
####変更前
;extension=curl
####変更後
extension=curl
###3.TwilioのSDKをダウンロードする。
以下URLからTwilioのSDKをダウンロードしました。
https://github.com/twilio/twilio-php/releases
composerを使ってもできるようなのですが、今回の環境的にそれが難しかったためgithubから入手しました。
これをテストコードを保存するフォルダ内に配置します。今回はTwilioフォルダをC:\appに保存しました。
###4.テストコードを書く
以下のようなコードを書きます。
<?php
require __DIR__ . '/Twilio/autoload.php';
use Twilio\Rest\Client;
$sid = <ダッシュボードに記載のあるSID>;
$token = <ダッシュボードに記載のあるToken>;
$client = new Client($sid, $token);
$client->messages->create(
<送り先電話番号>,
[
'from' => <Twilioで取得した電話番号>,
'body' => <送りたいメッセージ>
]
);
Twilioの公式に記載のあるコードとほぼ同じです。
###5.実行してみる
以下コマンドで実行します。
php c:\app\sendSMS.php
うまくいけば指定した電話番号へSMS送信が行えるかと思います。
もし上手くいかない場合ですが、エラーメッセージにSSL certificate problemとかの記載がある場合、証明書の問題が考えられます。
その場合は以下URLに記載のある通り、証明書を指定すれば上手くいくようになるかと思います。
https://support.twilio.com/hc/en-us/articles/235279367-Twilio-PHP-helper-library-SSL-certificate-problem-on-Windows
#おわりに
証明書で引っかかるとは思っていなかったのでそこで時間がかかりましたが、それ以外は思った以上にすんなりいけました。
無料アカウントの場合、初期設定だとアカウント作成時に登録した電話番号にしかSMSを送ることができません。
そのため実際にサービス等で利用する場合はアップグレードする必要が出てきます。
無料アカウントは初期チャージ500円でそこから電話番号代が引かれた料金分だけ使えるようです。
また1通10円ほどかかりますので、使い過ぎには注意した方が良いと思います。