メニュー

Rate this page:

Thanks for rating this page!

We are always striving to improve our documentation quality, and your feedback is valuable to us. How could this documentation serve you better?

Twilio SMS PHP クイックスタート

In a few lines of code, your PHP application can send, receive, and reply to text messages with Twilio Programmable SMS.

This PHP SMS Quickstart shows you how to use our Communications REST API, the Twilio PHP helper library, and ngrok to expose your local development server to Twilio.

We'll use the package manager Composer to manage our product dependencies. (We also have a non-Composer PHP SMS Quickstart).

このクイックスタートでは、以下のことを学んでいきます:

  1. Twilioにサインアップし、SMS機能に対応した電話番号を購入する
  2. Check and install any prerequisites using Composer
  3. 最初のSMSを送信する
  4. メッセージを送受信できるように開発環境をセットアップする
  5. テキストメッセージを受信する
  6. SMSを返送することで受信メッセージに返信する

Prefer to get started by watching a video? Check out our PHP SMS Quickstart video on Youtube.

I'm in. Show me how!

すでにTwilioアカウントとSMS機能に対応した電話番号をお持ちですか? その場合はどうぞ、この節は読み飛ばしてください。

You can sign up for a free Twilio trial account here.

  • When you sign up, you'll be asked to verify your personal phone number. This helps Twilio verify your identity and also allows you to send test messages to your phone from your Twilio account while in trial mode.
  • Once you verify your number, you'll be asked to create a project. For the sake of this tutorial, you can click on the "Learn and Explore" template. Give your project a name, or just click "skip remaining steps" to continue with the default.
  • Once you get through the project creation flow, you'll arrive at your project dashboard in the Twilio Console. This is where you'll be able to access your Account SID, authentication token, find a Twilio phone number, and more.

If you don't currently own a Twilio phone number with SMS functionality, you'll need to purchase one. After navigating to the Buy a Number page, check the "SMS" box and click "Search."

SMS対応Twilio電話番号を購入する

すると、利用可能な電話番号と、その機能の一覧が表示されます。 お好みに合った番号が見つかったら「購入」をクリックすると、それがアカウントに追加されます。

SMS機能対応の電話番号を選択します。

素晴らしそう! インストール方法を教えてください。

すでにPHPをお持ちで、かつTwilio PHPヘルパーライブラリーを作業用ディレクトリーにインストール済みの場合は、どうぞこの手順を読み飛ばして、最初のテキストメッセージ送信のセクションにお進みください。

To send your first SMS, let's make sure you're set up with PHP and able to install Twilio's PHP Helper library. When doing web development in PHP, we strongly suggest using Composer for package management. This quickstart relies on Composer to install the PHP Helper library. If you choose not to use Composer, please visit our non-Composer PHP SMS Quickstart.

PHPをインストールする

MacまたはLinux、Unixマシーンをお使いの場合、PHPはすでにインストールされている可能性があります。 使い慣れたターミナルで下記を実行します:

php --version

インストールされていない場合は、PHPのインストール手順に従ってください。

Windowsマシーンをお使いの場合は、PHPのインストールに公式のPHPチュートリアルに従ってください。

While many versions of PHP 5.x and PHP 7.x will work for this quickstart, please pay attention to supported PHP releases. Always update un-supported versions when doing web development, as older versions will not receive security updates.

Composerをインストールする

Composer is the de facto standard package manager for PHP web development. If you haven't yet installed it, here are the installation instructions for your platform:

(If you'd prefer to install dependencies manually, try our non-Composer PHP SMS Quickstart).

PHPヘルパーライブラリをインストールする

クイックスタートを完了させるディレクトリー内に、Twilio PHPヘルパーライブラリーをインストールすることが必要です。 Composerをお使いの場合は、これを行う方法は2通りあります。

第一の方法はターミナルを使用して、下記のコマンドを実行することです:

composer require twilio/sdk

もうひとつの方法は、composer.jsonという名前のファイルを作成することです。 ファイル内に下記の内容を追加します:

{
    "require": {
        "twilio/sdk": "^5.0"
    }
}

そして、下記を実行します

composer install

すると、composerはTwilio PHPヘルパーライブラリーの最新バージョン 5.xを取得しにいきます。

最後に、composerを使用しないインストールの場合です。 この場合はこちらの指示に従ってください。 また、先のページで解説されているように、下記のようにコードサンプルを変更することも必要になります。

Prerequisites are done! Let's send an SMS.

PHPでSMSを送信する

これでPHP、Composer、そしてtwilio-phpのインストールが済んだので、APIリクエストをひとつ送信して、Twilio電話番号からテキストメッセージを送信できます。 send_sms.phpという名前のファイルを作成して開き、下記のコードサンプルを入力またはペースとします。

        
        
        
        
        アカウントSID、認証トークンを編集し、Twilio番号をSMS機能を持ったTwilio電話番号に変更し、PHPを使用してSMSを送信できるようにします(日本のTwilio電話番号はSMS機能に対応しておりませんのでご注意ください。 別途米国(+1)の番号をご購入ください)。

        PHPでSMSを送信する

        アカウントSID、認証トークンを編集し、Twilio番号をSMS機能を持ったTwilio電話番号に変更し、PHPを使用してSMSを送信できるようにします(日本のTwilio電話番号はSMS機能に対応しておりませんのでご注意ください。 別途米国(+1)の番号をご購入ください)。

        プレースホルダーのTwilioクレデンシャルを置き換える

        Swap the placeholders in account_sid and auth_token with your personal Twilio credentials. Visit https://www.twilio.com/console, and you’ll find your unique Account SID and Auth Token to substitute.

        認証トークンは、目玉アイコンをクリックすると表示されます:

        認証トークンを表示する

        Replace the values for account_sid and auth_token with your unique values.

        Note: While it's easier to hardcode your credentials in a file for this quickstart, you should use environment variables to keep them secret in production. Check out how to set environment variables for more information, and see the code comments for an example of how to read them in PHP. This repo is also an excellent resource for dealing with environment variables.

        twilio_numberの電話番号を置き換える

        Earlier, you purchased an SMS-enabled phone number. Paste that number into the twilio_number variable using E.164 formatting:

        [+][country code][phone number including area code]

        create() 呼び出し内の「To」番号を置き換える

        The first value in the call to create() is the outgoing phone number, currently set to +15558675310. This can be any phone number that can receive text messages, but you should use a number you control first to witness the magic! As above, use E.164 formatting for this number.

        ファイルを保存してスクリプトを実行します:

        php send_sms.php
        

        じゃーん! すべての値が正しいなら、Twilio番号からお手持ちの電話にSMSが受信されていることでしょう。

        米国かカナダに顧客がいますか? もう1行コードを追加すれば、そのお客様にMMSも送信可能です。 MMS送信についてのこちらのガイドをお読みいただき、その方法をご確認ください。

        トライアルアカウントをご使用の場合、Twilioで検証済みの電話番号に送信先が制限されます。電話番号はTwilioコンソール内の検証済み発信者番号にて検証できます。 

        プログラムでSMSが届くなんて魔法みたいだ! さて、お次は?

        PHPでSMSを受信、返信する

        Twilio電話番号にSMSの受信があった場合、Twilioは皆さんのサーバーにHTTPリクエストを送信して、次に何を行うべきことの指示を問い合わせます。 このクイックスタートではSMS返信の送信方法についてのメモを添えて、送信者に対して返信を行います。

        We'll again use the Twilio PHP Library, then use PHP's built-in development webserver in combination with ngrok to instruct Twilio how to handle the message. Create a new file reply_sms.php in the same directory as send_sms.php, open it, then copy and paste or type the following code.

        (メモ: もし同じディレクトリーを使用しない場合は、上記のPHPヘルパーライブラリーのインストール手順に従ってください)

              
              
              
              
              Twilio PHPヘルパーライブラリーを使用してSMSを受信し、アプリケーションからそれに返信を行う方法をデモンストレーションします。

              PHPでSMSを受信、返信する

              Twilio PHPヘルパーライブラリーを使用してSMSを受信し、アプリケーションからそれに返信を行う方法をデモンストレーションします。

              ファイルを保存し、下記のコマンドでPHPの開発用サーバーを開始します:

              php -S localhost:8000
              

              使い慣れたブラウザーで、 http://localhost:8000/reply_sms.php にアクセスします。

              すべてがつつがなく進んだ場合は、ブラウザー内で受信SMSに対して返信したいメッセージが記されたXMLが表示されるはずです。 そしてもちろん、これで必要なコードは以上です。 あとわずかな手順ですべての準備が完了します。 次に、このエンドポイントをTwilioから参照できるようにしましょう。

              I'm getting excited now - let's expose our PHP to Twilio!

              TwilioからPHPアプリケーションへアクセスできるようにする

              ほとんどのTwilioのサービスはWebhookを使用して皆さんのアプリケーションと通信を行います。 たとえばTwilioがSMSを受信したとき、Twilioは皆さんのアプリケーションの特定のURLにアクセスを試み、それに対する返信をどのように処理するかの指示をアプリケーションからレスポンスします。 reply_sms.phpのコードの一部は、レスポンスとして使用できるひとつの命令の例ですが、悲しむべきことにこれは外界からのアクセスができません。 お使いのローカル環境からのみアクセスできるものです。

              (外部のホスティングサービスにデプロイするなど)このコードを公開する方法はたくさんありますが、弊社ではNgrok(エングロック)と呼ばれるツールの使用を推奨します。 Ngrokを開始すると、このツールはngrok.ioドメイン上の一意なURLを提供し、受信リクエストをお使いのローカル開発環境に転送します。

              このアーキテクチャーは、下記のように簡略化できます:

              Twilioがローカルサーバーにアクセスできるようにするために、ngrokがどのように役に立つのか

              まだNgrokをお使いでない場合、ダウンロードページにアクセスしてお使いのプラットフォーム用のものをインストールしてください。

              If you're working on a Mac or Linux, you're all set after decompression. If you're on Windows, we have a guide on how to install and configure ngrok on Windows. For more info on ngrok, including some great tips and tricks, check out our this in-depth blog post.

              ダウンロードインストールが済んだら、新しいターミナルのタブまたはウィンドウを開いて(すなわち開発サーバーは実行中のままにして)、下記のコマンドを使用しNgrokを開始します:

              ./ngrok http 8000
              

              下記のような出力がご覧いただけるでしょう。

              ngrokサーバーのターミナル出力

              この出力から公開URLをコピーしブラウザーにペースト、末尾にreply_sms.phpを追加します。 先の手順と同じXMLファイルが表示されるはずです。 今回のこの出力は外部からでもアクセス可能です。

              素晴らしいでしょう? さて、あとはTwilioに参照先を伝えるだけです。

              My server is public now. Let's show Twilio where to look!

              WebhookのURLを設定する

              ここではTwilio電話番号を、新しいメッセージが受信されたときにWebhookのURLを呼び出すよう構成することが必要になります。

              1. jp.twilio.comにログインし、コンソール上の電話番号ページに移動します
              2. SMS機能に対応した電話番号(最初にメッセージ送信に使用したもの)をクリックします)をクリックします
              3. メッセージんぐ配下のサブセクションで、「構成内容」が既定の「Webhook/TwiML」に設定されていることを確認します
              4. 「メッセージ受信時」セクションで、「Webhook」を選択し、転送するngrok URLをペーストします /reply_sms.php

              SMS Webhookを構成する

              変更を保存すれば、準備は万端です!

              SMSを送信しアプリケーションをテストする

              これですべての設定が完了したので、いよいよテストしてみましょう。

              お使いの携帯電話からTwilio電話番号にテキストメッセージを送信します(日本から米国のTwilio番号にSMSを送信すると高額な送信量が携帯キャリアーによって課されるため、じゅうぶんご注意ください)。 ほどなくして、いくつかのことが起こるのを目撃することになるでしょう -

              1. お手元のNgrokコンソールに、HTTPリクエストが現れます。
              2. PHPの開発サーバーが新しい接続を記録します
              3. TwilioはレスポンスをSMSとして転送します!
              It worked! All done - what's next?

              関連トピック

              これで、PHPを使用したSMSとMMSのテキストメッセージ送受信の基本が身についたので、下記のリソースがお役にたつかもしれません。

              弊社一同、皆さんがこのクイックスタートをお楽しみいただくことを望みます。 そして皆さんがこれから開発されるものを目にする機会を心待ちにしています!

              ヘルプが必要ですか?

              We all do sometimes; code is hard. Get help now from our support team, or lean on the wisdom of the crowd browsing the Twilio tag on Stack Overflow.