Programmable Messaging PHPクイックスタート
Ahoy there!Twilioのメッセージングチャネルを使用して転送されるすべてのメッセージングは、アプリケーション対個人メッセージング(A2P)として処理され、Twilioのメッセージポリシーの対象になります。Twilioのサービスを使用する間、遵守しなければならないポリシールールの詳細については、サービス利用ポリシーを参照してください。
数行のコードにより、PHPアプリケーションからTwilio Programmable SMSのテキストメッセージの送信、受信、返信を行うことができます。
このPHP SMSクイックスタートでは、Communications REST API、Twilio CLI、Twilio PHPヘルパーライブラリーの使用法を説明します。
パッケージマネージャーのComposerを使用し、製品の依存関係を管理します。Composerの使用をご希望でない場合には、Composerを使用しないPHP SMSクイックスタートもご用意しています。
このクイックスタートでは、以下の方法について説明します。
- Twilioにサインアップし、SMS対応のTwilioの電話番号を取得する。
- Composerを使用し、前提条件を確認しインストールする。
- SMSを送信してみる。
- 開発環境を設定し、メッセージを送受信する。
- テキストメッセージを受信する。
- SMSを使用しメッセージに返信する。
Twilioにサインアップまたはサインインする
すでにTwilioアカウントをお持ちですか。その場合はこのセクションを省略できます。
無料のTwilioトライアルアカウントを取得するには、こちらからサインアップしてください。
- サインアップの際に、お客様個人の電話番号を確認させていただきます。これにより、Twilioがお客様を確認することができ、お客様はトライアルモード中にTwilioアカウントからご自身の電話にテストメッセージを送信することができます。
- 電話番号の確認を終えると、設定をカスタマイズするための一連の質問があります。
- 登録フローを終えると、Twilio Consoleにプロジェクトダッシュボードが表示されます。このダッシュボードを使用し、アカウントSID、認証トークン、Twilio電話番号などにアクセスできます。
Twilio CLIをインストールする
いくつかのタスクでTwilio CLI(コマンドラインインターフェイス)を使用するため、Twilio CLIをインストールします。
macOSにtwilio-cli
をインストールするための推奨される方法は、Homebrewを使用することです。インストールがお済みでない場合は、Homebrewサイトに進み、インストールを実行後、本ページにお戻りください。
Homebrewをインストールした後、次のコマンドを実行しtwilio-cli
をインストールします。
brew tap twilio/brew && brew install twilio
twilio-cli
をインストールするための推奨される方法は、Windows向けコマンドラインインストーラーであるScoopを使用することです。インストールがお済みでない場合は、Scoopサイトに進み、インストール手順を実行後、本ページにお戻りください。
注記: Scoop経由でインストールする際、一般的なアクセス許可の問題を回避するには、PowerShellを管理者として実行する必要があります。
- 次の
twilio-cli
のバケットを追加します。
scoop bucket add twilio-scoop https://github.com/twilio/scoop-twilio-cli
- 次のアプリをインストールします。
scoop install twilio
twilio-cli
は、Advanced Package Tool(apt)を使用し、Debian、Ubuntu、Linux Mintなどのほとんどのディストリビューションにインストールできます。
これを行うには、ターミナルで次のコマンドを実行します。
wget -qO- https://twilio-cli-prod.s3.amazonaws.com/twilio_pub.asc \
| sudo apt-key add -
sudo touch /etc/apt/sources.list.d/twilio.list
echo 'deb https://twilio-cli-prod.s3.amazonaws.com/apt/ /' \
| sudo tee /etc/apt/sources.list.d/twilio.list
sudo apt update
sudo apt install -y twilio
その他のインストール方法については、twilio-cliクイックスタートをご覧ください。
twilio login
を実行し、Twilio CLIをアカウントに接続します。https://www.twilio.com/consoleにアクセスし、CLIに入力するための固有のAccount SIDとAuth Tokenを確認します。
「目」のアイコンをクリックすると、認証トークンが表示されます。
電話番号を取得する
SMS機能付きのTwilio電話番号をお持ちではない場合には、ご購入いただく必要があります。CLIを使用し次を実行します。
twilio phone-numbers:buy:local --country-code US --sms-enabled
米国以外の電話番号を使用する場合は、USをお使いの電話番号のISO-3166-1国コードに置き換えます(日本では未対応)。SMS対応の番号が表示されない場合は、固定電話番号の代わりに携帯電話番号を探してみてください。 twilio phone-numbers:buy:mobile --country-code DE --sms-enabled
アカウントに追加する電話番号を選択します。
次に、PHPとTwilio PHPヘルパーライブラリーをインストールします。
PHPとTwilio PHPヘルパーライブラリーをインストールする
作業ディレクトリにPHPとTwilio PHPヘルパーライブラリーがインストールされている場合は、このステップを省略し、最初のテキストメッセージの送信に進んでください。
SMSを送信するにあたり、PHPが設定されていること、TwilioのPHPヘルパーライブラリーをインストールできることを確認します。PHPを使用しWeb開発を行う場合、パッケージ管理にComposerを使用することを強くお勧めします。このクイックスタートでは、PHPヘルパーライブラリーのインストールにComposerを使用します。Composerを使用しない場合には、Composerを使用しないPHP SMSクイックスタートをご覧ください。
PHPをインストールする
MacまたはUnix系マシンの場合、PHPがすでにインストールされている可能性があります。任意のターミナルを使用し以下を実行します。
php --version
インストールされていない場合は、PHPインストール手順に従います。
Windowsマシンの場合は、PHPインストールの公式のPHPチュートリアルをご覧ください。
このクイックスタートでは、PHP 5.xとPHP 7.xバージョンの多くが機能しますが、サポートされているPHPのバージョンにご注意ください。古いバージョンはセキュリティアップデートが適用されないため、Web開発の際には、サポートされていないバージョンは必ず更新してください。
Composerをインストールする
Composerは、PHP Web開発におけるデファクトスタンダードのパッケージマネージャーです。インストールしていない場合には、お使いのプラットフォームに対応した以下のインストール手順をご覧ください。
依存関係を手動でインストールする場合には、Composerを使用しないPHP SMSクイックスタートをご覧ください。
Twilio PHPヘルパーライブラリーをインストールする
クイックスタートの作業を行うディレクトリに、Twilio PHPヘルパーライブラリーをインストールする必要があります。Composerを使用している場合には、2通りの方法があります。
まず、ターミナルから、以下のコマンドを実行します。
composer require twilio/sdk
またはcomposer.json
というファイルを作成し、以下を追加します。
{
"require": {
"twilio/sdk": "^5.0"
}
}
次に、以下を実行します。
composer install
ComposerはTwilio PHPヘルパーライブラリーの最新バージョンを取得します。
最後に、Composerを使用しないインストールでは、こちらの手順をご覧ください。また、こちらの手順に示されているようにサンプルコードを変更する必要もあります。
PHPを使用しSMSメッセージを送信する
これでPHP、Composer、twilio-php
がインストールされたため、1つのAPIリクエストを実行し、Twilioの電話番号からテキストメッセージを送信できます。send_sms.php
という新しいファイルを作成します。このファイルを開き、コードサンプルを入力するか、貼り付けます。
Twilioの認証情報のプレースホルダを交換する
account_sid
とauth_token
のプレースホルダ値を、ご自身のTwilioの認証情報に置き換えます。account_sid
とauth_token
の値をご自身固有の値に置き換えます。
このクイックスタートでは、ファイルのコードに認証情報を直接埋め込んだ方が簡単ですが、本番環境では環境変数を使用し、認証情報を保護してください。詳細については、環境変数の設定方法を、PHPでの読み込み方法の例については、コードのコメントをご覧ください。こちらのリポジトリもご確認ください。環境変数の取り扱いに関する大変便利なリソースです。
twilio_number電話番号を置き換える
前の手順においてSMS対応の電話番号を購入しました。その番号を、E.164形式を使用し、twilio_number
変数に貼り付けます。
[+][国コード][エリアコードを含む電話番号]
create()コールで「To」番号を置き換える
create()
の最初の値は送信先の電話番号です。現在これは+15558675310
に設定されています。テキストメッセージを受信できる電話番号であればどの番号でも構いませんが、プロセスを実際に体験するために、ご自身の番号を使用してください。上記のように、この番号にはE.164形式を使用します。
ファイルを保存し、スクリプトを実行します。
php send_sms.php
できました!すべての値が正しければ、Twilioの番号からのSMSが、お使いの電話に表示されているはずです。
顧客がアメリカやカナダにいる場合は、1行コードを追加するだけで、顧客にMMSメッセージを送信することもできます。その方法については、こちらのMMS送信ガイドをご覧ください。
Twilioのトライアルアカウントを使用している場合は、Twilioにより確認された電話番号のみにSMSメッセージを送信することができます。電話番号は、Twilio Consoleの認証済み発信者IDにより認証できます。
PHPを使用し、SMSメッセージを受信・返信する
お客様のTwilio電話番号にSMSが送信されると、Twilioは、お客様のサーバーに対してHTTP POST
リクエストを実行し、対応についての指示を求めます。このクイックスタートでは、SMS返信の送信方法に関するメモを発信者に返信します。
Twilio PHPライブラリーを再度使用し、次にPHPビルトイン開発Webサーバーとngrokを組み合わせて使用し、Twilioにメッセージの処理方法を指示します。新しいファイルreply_sms.php
をsend_sms.php
と同じディレクトリに作成します。このファイルを開き、以下のコードをコピーし貼り付けるか、入力します。
前と同じディレクトリを使用していない場合は、上記のPHPヘルパーライブラリーのインストール手順に従います。
ファイルを保存し、次に以下のコードを使用しPHP開発サーバーを起動します。
php -S localhost:8000
任意のブラウザーを使用し、URL http://localhost:8000/reply_sms.phpを開きます。
問題がなければ、ブラウザーにTwiMLと、受信テキストへの返信に使用するメッセージが表示されるはずです。必要なコードはそれだけです。ただし、設定を終える前にもう1つのステップを実行する必要があります。
Webhook URLを設定する
新しいメッセージが着信するたびにWebhook URLを呼び出すよう、Twilioの電話番号を設定する必要があります。電話番号をお使いのTwilioの電話番号に置き換え、次のCLIコマンドを実行します。
twilio phone-numbers:update "+15017122661" --sms-url="http://localhost:8000/reply_sms.php"
このCLIは、あなたが開発に使っているマシンにTwilioがアクセスできるようにngrok tunnelを起動し、受信テキストを待機します。
テキストを使用しアプリケーションをテストする
これですべてが繋がりました。テストしてみましょう。
お使いの携帯電話から、お使いのTwilio電話番号にテキストメッセージを送信します。ここで以下の2つのアクションが瞬時に行われます。
- PHP開発サーバーが新しい接続を検出します。
- Twilioが返信をSMSとして転送します。
次のステップ
これでPHPを使用したSMSとMMSのテキストメッセージ送受信の基本が理解できました。以下のリソースもご覧ください。
- 豊富なTwilio SMS用のAPIリファレンスドキュメント。
- PHPを使用しSMS会話を作成する方法を学ぶ。
- PHPを使用しメッセージの配信ステータスを追跡する。
- Twilioの使用方法を自分のペースで学べる、インタラクティブゲームのTwilioQuestを利用してみる。
クイックスタートがお役に立ちましたでしょうか。お客様の成功が私たちの喜びです。
サポートが必要ですか?
コーディングに関するご質問、ご不明点等ございましたら、お問い合わせからご連絡いただくか、TwilioのStack Overflow Collectiveにアクセスいただくか、Stack OverflowサイトでTwilioタグを検索してください。