メニュー

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?

Programmable Voice クイックスタート for PHP

With just a few lines of code, your PHP web application can make and receive phone calls with Twilio Programmable Voice.

This PHP Voice quickstart will teach you to do this using Twilio's Voice REST API, the Twilio PHP helper library, the built-in PHP development web server, and ngrok to expose your local server to Twilio.

We'll use the Composer package manager for dependency management (don't want to? Try our Non Composer PHP Voice Quickstart).

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

  1. Twilioにサインアップして、音声通話機能を持ったはじめてのTwilio電話番号を入手する
  2. Check and install any PHP prerequisites using Composer
  3. 通話を発信してMP3ファイルを再生する
  4. 音声通話に応答し、テキストtoスピーチを使用して発信者にメッセージを読み上げる

Prefer to get started by watching a video? Check out our video on how to place and receive phone calls with PHP.

通話の発信方法を教えてください!

Already have a Twilio account and a voice-enabled Twilio phone number? Log in then jump to the next step.

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 make calls 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 Voice functionality, you'll need to purchase one. After navigating to the Buy a Number page, check the "Voice" box and click "Search."

Buy a voice compatible number with Twilio

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

voice_compatible-number.png

ヘルパーライブラリーのインストールを手助けしてください。

すでにPHPをお持ちで、かつTwilio PHPヘルパーライブラリーを作業用ディレクトリーにインストール済みの場合は、このステップは完了しています。 次のステップに進んで、最初のテキストメッセージの送信に進んでください。

To make your first outbound voice call, let's make sure you're set up with PHP and able to install Twilio's PHP Helper library.

PHPでのWeb開発では、パッケージ管理にComposerをご使用いただくことを強く推奨します。 このクイックスタートでは、PHPヘルパーライブラリーをインストールするためにComposerに依存します。 (Composerを使用されない場合は、PHPヘルパーライブラリーのページでTwilio PHPのマニュアルインスtーるの手順について記載されています。

PHPをインストールする

MacまたはLinux / UNIXをご使用の場合は、すでにPHPはインストールされています。 ターミナルで下記を実行してください:

php --version

PHPがインストールされていない場合は、PHP installation instructions (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. When doing web development, always update your PHP version to a release which receives security updates.

パッケージ管理用にComposerをインストールする

Composer is the de facto canonical package manager for PHP web development. For this tutorial, Composer is required. If you don't want to install Composer, try our non Composer PHP Voice Quickstart.

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

ここで、Twilio PHPヘルパーライブラリーのインストールが必要です。

First, navigate to the directory where you will complete this quickstart then choose one of the following methods to install the helper library.

ターミナルから、下記のコマンドを実行します:

composer require twilio/sdk

または, you can create a file named composer.json instead. In that file, add:

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

続いて、下記を実行します:

composer install

ComposerがTwilio PHPヘルパーライブラリーの最新バージョン 5.x を取得します。

To not use Composer, try this PHP Voice Quickstart.

インストールをすべて完了し、通話の準備ができました!

PHPで通話を発信する

Now that we have PHP and the PHP Helper Library installed, we can make an outgoing phone call in a single API request. Create a new file called make_call.php and type or paste in this code sample.

        
        
        
        
        PHPヘルパーライブラリーで音声通話を発信する

        音声通話を発信する

        PHPヘルパーライブラリーで音声通話を発信する

        コードを実行すると、引数として渡される2つの番号間で通話が発信されます。 「From」および「To」番号を見られるよう2つの変数を追加し、これらを以下のように割り当てます:

        • (From) / twilio_number: 購入されたTwilio電話番号
        • (To) / to_number: 通話の発信先の番号 (おそらく皆さんの携帯電話番号)

        配列の中で、url引数はいくつかのTwiMLを指しています。 TwiMLは音声通話用のシーケンスなどといったアクションを開始、または応答するためにTwilioが内部的に使用する言語です。 この特定のTwiMLは「To」 / to_number番号に対してTwilioにテキストtoスピーチでメッセージを読み上げさせ、続いてMP3ファイルを再生させます。

        このコードを実行できるようになる前に、アカウント固有の値をいくつか差し替えることが必要です。

        プレースホルダーのクレデンシャルをご自身のもので置き換える

        account_sidおよびauth_tokenの固有の値をお使いのTwilioアカウントクレデンシャルに置き換えます。

        To find these, visit https://www.twilio.com/console and log in. On this page, you’ll find your unique Account SID and Auth Token. You can reveal the Auth Token by clicking the 'eye' icon:

        認証トークンを表示する

        make_call.phpを開き、account_sidおよびauth_tokenに対応する値をご使用のアカウントの一意な値に置き換えます。

        Note: It's easier to hardcode your credentials for this quickstart, but 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 a reading example. This repo is also an excellent reference for environment variables in PHP.

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

        Earlier, you purchased or found a voice-enabled phone number. Paste the number into the twilio_number variable using E.164 formatting:

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

        たとえば、+18005551212などです。

        to_number 電話番号を置き換える

        Again using E.164 formatting, substitute the phone number which will receive the outgoing call. You should use a personal phone number here so you'll receive the call and hear the magic after running the code.

        If you're using a Twilio trial account, you can only make outgoing calls to phone numbers you have verified with Twilio. Phone numbers can be verified with your Twilio Console's Verified Caller IDs. For full trial account limitations, see our guide on how to work with your free Twilio trial account.

        スクリプトを保存し、これを呼び出して発信通話をテストします。 macOSおよびLinux、UNIXでは、下記ののようになります:

        php make_call.php
        

        すべてが正しく置き換えられている場合、まもなく素晴らしいメッセージと最新の楽曲が聴こえてくるでしょう。 そうはならなかった場合でも、どうか匙を投げないでコンソールのプロンプトに従ってください。

        You didn't let me down! What's next?

        PHPで着信通話に応答する

        Twilio電話番号に通話の着信があった場合、Twilioは皆さんのサーバーにHTTPリクエストを送信して、通話を処理するために行うべきことの指示を問い合わせます。 このクイックスタートではこの送信者に返信し、TwilioのテキストToスピーチ機能を使用して電話をかけてくれたことに対するお礼を言うことにします。

        このステップでは再度TwilioのPHPライブラリーを使用します。 PHPの組み込み済み開発Webサーバーをngrokと組み合わせてTwilioに通話を管理する方法を指示します。

        Create a new file, answer_call.php, in the same directory as make_call.php. Then copy and paste or type the following code.

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

              
              
              
              
              PHPヘルパーライブラリーを使用して着信通話に応答する

              着信通話を受ける

              PHPヘルパーライブラリーを使用して着信通話に応答する

              answer_call.phpを保存し、それからローカルのPHP開発サーバーを下記のコマンドで起動します:

              php -S localhost:8000
              

              ブラウザータブでURL http://localhost:8000/answer_call.php にアクセスします。

              問題がなかった場合は、着信通話で読み上げたいメッセージを含むXMLがブラウザーに表示されるはずです。 これで必要なコードは以上です。 あとわずかな手順ですべての準備が完了します。

              次に、このエンドポイントをTwilioから参照できるようにしましょう。

              とっても分かりやすいです。 Twilioはどのように新しいアプリケーションと通信するのでしょうか?

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

              着信通話に対する応答の中でTwilioに行なって欲しいことを指示できるようになる前に、まず皆さんのサーバーをインターネット上に公開することです。 ローカルの開発サーバーの実行時は、それがローカルネットワーク上からしかアクセスできない見込みが非常に高くなっています。 でもご心配なく。 サーバーをテストする簡単な方法をお見せします。

              多くのTwilio製品やサービスは皆さんのアプリケーションとの通信にWebhookを使用します。 たとえばTwilioに通話が着信したとき、皆さんがあらかじめ指定しておいた特定のURLにTwilioからアクセスを行い、それに対して皆さんのサーバーは応答を処理する方法の指示を供給します。 answer_call.php内のコードの一部は、発信者に対して「スピーチ」を返すために使用できる指示の一例になります。 しかし、サーバーの実行時にはこれはローカルネットワークからのみアクセス可能で、公開インターネット上からはアクセスできません。 これを修正する方法を見つける必要があります。

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

              アーキテクチャーは下記のようになります:

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

              まだNgrokをお使いでない場合、ダウンロードページにアクセスしてお使いのオペレーティングシステム用のものをインストールしてください。

              If you're working on Mac or Linux, you're all set after you decompress it. If you're on Windows, follow our 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 ngrok blog post.

              ngrokインストールのダウンロードが済んだら、新規のターミナルタブまたはウィンドウを開き(すなわち実行中の開発サーバーはそのままにして)、下記のコマンドでこれを起動します:

              ./ngrok http 8000
              

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

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

              この出力から公開URLをコピーしブラウザーにペースト、末尾にanswer_call.phpを追加します。 先の手順と同じXMLファイルが表示されるはずです。 これでこの出力はインターネット接続さえあればどこからでもアクセス可能です。

              これでサーバーを公開できたので、Twilioにサーバーの探し場所を伝えましょう。

              サーバーが外部に公開されました。 通話の着信方法を教えてください!

              WebhookのURLを設定する

              これでサーバーが外部からアクセス可能になりました。 Twilio電話番号を構成して、新しい着信があった際にTwilioがWebhook URLにアクセスするようにすることが必要です。

              1. Consoleの電話番号ページにアクセスします。
              2. 音声機能対応の電話番号をクリックします。
              3. 「音声およびFax」セクションを見つけます。 「受け付ける着信 (ACCEPT INCOMING) 」の選択肢で「音声通話 (Voice Calls) 」が設定されていることを確認します。 既定の「構成内容 (CONFIGURE WITH) 」セクションは「Webhook / TwiML...」に設定します。
              4. 「通話着信時 (A CALL COMES IN) 」セクションで「Webhook」を選択し、使用したいURLをペーストし、末尾に /answer_call.php を付け加えます:

              ngrokを使用した音声通話Webhook

              変更を保存すれば、準備OKです!

              アプリケーションをテストする

              ローカル開発環境がまだ実行中で、かつngrokもまだ実行中であれば、お楽しみ、すなわちテストの準備は万端です!

              Twilio電話番号に通話を発信しましょう。 短時間で続けざまに色々なことが起こるのを見聞きできるでしょう。

              1. ngrokコンソールでHTTPリクエストが確認できます
              2. 開発サーバーがコンソールにメッセージをいくつか表示します
              3. 電話が接続されるとメッセージが聴こえてきます

              これでPHPで電話の発着信が機能するようになりました。

              It worked! What's next?

              関連トピック

              Now you know the basics of making and responding to phone calls with PHP.

              This PHP app only used the <Say> TwiML verb to read a message to the caller using text to speech. With different TwiML verbs, you can create other powerful constructs and call flows. Try a few, such as <Record>, <Gather>, and <Conference>.

              以下のページをご覧いただき、さらに理解を深めてください:

              皆さまが何を開発されるのか、目にするのが待ちきれません!

              ヘルプが必要ですか?

              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.