Skip to content
This repository

A PHP library for communicating with the Twilio REST API and generating TwiML. Need help? Post your questions to http://getsatisfaction.com/twilio or email us at help@twilio.com

README.md

Build Status

Installation

You can install twilio-php via PEAR or by downloading the source.

Via PEAR (>= 1.9.3):

PEAR is a package manager for PHP. Open a command line and use these PEAR commands to download the helper library:

$ pear channel-discover twilio-pear.herokuapp.com/pear
$ pear install twilio/Services_Twilio

If you get the following message:

$ -bash: pear: command not found

you can install PEAR from their website, or download the source directly.

Via Composer:

twilio-php is available on Packagist as the twilio/sdk package.

Via ZIP file:

Click here to download the source (.zip) which includes all dependencies.

Once you download the library, move the twilio-php folder to your project directory and then include the library file:

require '/path/to/twilio-php/Services/Twilio.php';

and you're good to go!

A Brief Introduction

With the twilio-php library, we've simplified interaction with the Twilio REST API. No need to manually create URLS or parse XML/JSON. You now interact with resources directly. Follow the Quickstart Guide to get up and running right now. The User Guide shows you how to get the most out of twilio-php.

Quickstart

Send an SMS

<?php
// Install the library via PEAR or download the .zip file to your project folder.
// This line loads the library
require('/path/to/twilio-php/Services/Twilio.php');

$sid = "ACXXXXXX"; // Your Account SID from www.twilio.com/user/account
$token = "YYYYYY"; // Your Auth Token from www.twilio.com/user/account

$client = new Services_Twilio($sid, $token);
$message = $client->account->messages->sendMessage(
  '9991231234', // From a valid Twilio number
  '8881231234', // Text this number
  "Hello monkey!"
);

print $message->sid;

Make a Call

<?php
// Install the library via PEAR or download the .zip file to your project folder.
// This line loads the library
require('/path/to/twilio-php/Services/Twilio.php');

$sid = "ACXXXXXX"; // Your Account SID from www.twilio.com/user/account
$token = "YYYYYY"; // Your Auth Token from www.twilio.com/user/account

$client = new Services_Twilio($sid, $token);
$call = $client->account->calls->create(
  '9991231234', // From a valid Twilio number
  '8881231234', // Call this number

  // Read TwiML at this URL when a call connects (hold music)
  'http://twimlets.com/holdmusic?Bucket=com.twilio.music.ambient'
);

Generating TwiML

To control phone calls, your application needs to output TwiML. Use Services_Twilio_Twiml to easily create such responses.

<?php
require('/path/to/twilio-php/Services/Twilio.php');

$response = new Services_Twilio_Twiml();
$response->say('Hello');
$response->play('https://api.twilio.com/cowbell.mp3', array("loop" => 5));
print $response;

That will output XML that looks like this:

<?xml version="1.0" encoding="utf-8"?>
<Response>
    <Say>Hello</Say>
    <Play loop="5">https://api.twilio.com/cowbell.mp3</Play>
<Response>

Full Documentation

The documentation for twilio-php is hosted at Read the Docs. Click here to read our full documentation.

Prerequisites

  • PHP >= 5.2.3
  • The PHP JSON extension

Reporting Issues

We would love to hear your feedback. Report issues using the Github Issue Tracker or email help@twilio.com.

Something went wrong with that request. Please try again.