A PHP library for communicating with the Twilio REST API and generating TwiML.

Overview

twilio-php

Build Status Packagist Packagist Learn with TwilioQuest

The default branch name for this repository has been changed to main as of 07/27/2020.

Documentation

The documentation for the Twilio API can be found here.

The PHP library documentation can be found here.

Versions

twilio-php uses a modified version of Semantic Versioning for all changes. See this document for details.

Supported PHP Versions

This library supports the following PHP implementations:

  • PHP 7.2
  • PHP 7.3
  • PHP 7.4
  • PHP 8.0

Installation

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

Via Composer:

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

composer require twilio/sdk

Quickstart

Send an SMS

// Send an SMS using Twilio's REST API and PHP
<?php
$sid = "ACXXXXXX"; // Your Account SID from www.twilio.com/console
$token = "YYYYYY"; // Your Auth Token from www.twilio.com/console

$client = new Twilio\Rest\Client($sid, $token);
$message = $client->messages->create(
  '8881231234', // Text this number
  [
    'from' => '9991231234', // From a valid Twilio number
    'body' => 'Hello from Twilio!'
  ]
);

print $message->sid;

Make a Call

<?php
$sid = "ACXXXXXX"; // Your Account SID from www.twilio.com/console
$token = "YYYYYY"; // Your Auth Token from www.twilio.com/console

$client = new Twilio\Rest\Client($sid, $token);

// Read TwiML at this URL when a call connects (hold music)
$call = $client->calls->create(
  '8881231234', // Call this number
  '9991231234', // From a valid Twilio number
  [
      'url' => 'https://twimlets.com/holdmusic?Bucket=com.twilio.music.ambient'
  ]
);

Specify Region and/or Edge

To take advantage of Twilio's Global Infrastructure, specify the target Region and/or Edge for the client:

<?php
$sid = "ACXXXXXX"; // Your Account SID from www.twilio.com/console
$token = "YYYYYY"; // Your Auth Token from www.twilio.com/console

$client = new Twilio\Rest\Client($sid, $token, null, 'au1');
$client->setEdge('sydney');

A Client constructor without these parameters will also look for TWILIO_REGION and TWILIO_EDGE variables inside the current environment.

This will result in the hostname transforming from api.twilio.com to api.sydney.au1.twilio.com.

Enable Debug Logging

There are two ways to enable debug logging in the default HTTP client. You can create an environment variable called TWILIO_LOG_LEVEL and set it to debug or you can set the log level to debug:

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

$client = new Twilio\Rest\Client($sid, $token);
$client->setLogLevel('debug');

Generating TwiML

To control phone calls, your application needs to output TwiML.

Use Twilio\TwiML\(Voice|Messaging|Fax)Response to easily chain said responses.

<?php
$response = new Twilio\TwiML\VoiceResponse();
$response->say('Hello');
$response->play('https://api.twilio.com/cowbell.mp3', ['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>

Handling Exceptions

For an example on how to handle exceptions in this helper library, please see the Twilio documentation.

Using a Custom HTTP Client

To use a custom HTTP client with this helper library, please see the Twilio documentation.

Docker Image

The Dockerfile present in this repository and its respective twilio/twilio-php Docker image are currently used by Twilio for testing purposes only.

Getting help

If you need help installing or using the library, please check the Twilio Support Help Center first, and file a support ticket if you don't find an answer to your question.

If you've instead found a bug in the library or would like new features added, go ahead and open issues or pull requests against this repo!

Comments
  • SSL certificate problem: self signed certificate in certificate chain

    SSL certificate problem: self signed certificate in certificate chain

    Hello,

    I am upgrading from Twilio PHP Library from v3.12.1 to v3.12.6 Right away I am getting this error

    SSL certificate problem: self signed certificate in certificate chain

    We are moving all dependency under composer support. Please let me know if there is any steps involved to upgrade. v3.12.1 had an certificate file I do not see it on v3.12.6 Please advice a workaround which allow us to connect via https

    opened by prionkor 31
  • Twiml.php file name issue

    Twiml.php file name issue

    Version: 5.24

    Exception/Log

    PHP Fatal error:  Uncaught Error: Class 'Twilio\TwiML' not found
    

    The Twiml.php file needs to be renamed to TwiML.php to fix that issue. I'm surprised no one has pointed out such issue since it's impossible to require Twilio via composer without manually upload it and rename that file unless you are running on windows where file names are case insensitive, am I missing something?

    type: docs update status: help wanted 
    opened by Gifky 20
  • Unable to create record: authenticate

    Unable to create record: authenticate

    I'm getting the following error message: Uncaught exception 'Twilio\Exceptions\RestException' with message '[HTTP 401] Unable to create record: Authenticate'

    Below is my script.

    <?php
    error_reporting(E_ALL);
    // Require the bundled autoload file - the path may need to change
    // based on where you downloaded and unzipped the SDK
    require  'autoload.php';
    
    // Use the REST API Client to make requests to the Twilio REST API
    use Twilio\Rest\Client;
    
    // Your Account SID and Auth Token from twilio.com/console
    $sid = 'SK679251dde54ae13ed6cabeeb1e5ffcf2';
    $token = 'token';
    $client = new Client($sid, $token);
    
    // Use the client to do fun stuff like send text messages!
    $client->messages->create(
        // the number you'd like to send the message to
        '+15555555555',
        array(
            // A Twilio phone number you purchased at twilio.com/console
            'from' => '+15555555555',
            // the body of the text message you'd like to send
            'body' => "Hey Jenny! Good luck on the bar exam!"
        )
    );
    
    ?>
    
    opened by ba01739 20
  • API certificate issues in Debian Jessie 8.3

    API certificate issues in Debian Jessie 8.3

    As already mentioned in the issue #203 an ssl error is returned if the "Thawte Premium Server CA" certificate is missing from the ssl truststore as it is send by api.twilio.com. The recent Debian 8.3 point release updated the ca-certificates package to remove this certificate from the store though: http://metadata.ftp-master.debian.org/changelogs/main/c/ca-certificates/ca-certificates_20141019+deb8u1_changelog

    So as more and more people update to that release, they will not be able to use the API properly. We fixed this manually on our servers by readding the certificate to the store, but that cannot be the solution. You should consider to remove this certificate from your chain.

    opened by smelchior 17
  • Alphanumeric Sender ID

    Alphanumeric Sender ID

    I want to use the (pretty new) feature Alphanumeric Sender ID when sending SMS.

    What's the minimum SDK version I should use? Cause now I'm getting an error saying:

    The From phone number XXXX is not a valid, SMS-capable inbound phone number or short code for your account

    Where XXXX is the body of the SMS I'm trying to send.

    opened by dror3go 17
  • Why not have InstanceResource have toArray()

    Why not have InstanceResource have toArray()

    Is there a reason to protect the properties of lets say a CallInstance? Why not have the option for toArray() so that the instance can be just outputted as an associative array. Does this pose some sort of vulnerability?

    I would like to have the ability to fetch any instance and just call ->toArray() and see that properties as is.

    public function toArray() {
         return $this->properties;
    }
    

    That should output like so:

    array:25 [▼
      "accountSid" => "ACa1234567890"
      "annotation" => null
      "answeredBy" => null
      "apiVersion" => "2010-04-01"
      "callerName" => ""
      "dateCreated" => DateTime {#1278 ▶}
      "dateUpdated" => DateTime {#1279 ▶}
      "direction" => "outbound-api"
      "duration" => "22"
      "endTime" => DateTime {#1280 ▶}
      "forwardedFrom" => null
      "from" => "+xxxxxxx"
      "fromFormatted" => "xxxxxx"
      "groupSid" => null
      "parentCallSid" => null
      "phoneNumberSid" => "xxxxxxxx"
      "price" => "-0.01500"
      "priceUnit" => "USD"
      "sid" => "xxxxxx"
      "startTime" => DateTime {#1281 ▶}
      "status" => "completed"
      "subresourceUris" => array:2 [▶]
      "to" => "xxxxx"
      "toFormatted" => "(xxxxxx"
      "uri" => "/2010-04-01/Accounts/ACa1234567890/Calls/xxxxxx.json"
    ]
    
    
    opened by johnpaulmedina 16
  • No response received during a test outbound message

    No response received during a test outbound message

    I tried the following code (similar to your examples), but I am unable to receive a response from the server. Please note that I am using a Test account.

    account->messages->create(array( "From" => "925-273-9243", "To" => "925-273-9243", "Body" => "Test message!", )); print_r($message); echo $e->getMessage(); } catch (Services_Twilio_RestException $e) { echo $e->getMessage(); }
    opened by mlisondra 16
  • Fatal error: Uncaught exception 'Services_Twilio_TinyHttpException' with message 'Couldn't resolve host 'api.twilio.com''

    Fatal error: Uncaught exception 'Services_Twilio_TinyHttpException' with message 'Couldn't resolve host 'api.twilio.com''

    while making a voice call request getting below error

    Fatal error: Uncaught exception 'Services_Twilio_TinyHttpException' with message 'Couldn't resolve host 'api.twilio.com'' in /home/www/BCARD/custom/CEMV/TEMP_CC/Services/Twilio/TinyHttp.php:119 Stack trace: #0 /home/www/BCARD/custom/CEMV/TEMP_CC/Services/Twilio.php(179): Services_Twilio_TinyHttp->__call('post', Array) #1 /home/www/BCARD/custom/CEMV/TEMP_CC/Services/Twilio.php(179): Services_Twilio_TinyHttp->post('/2010-04-01/Acc...', Array, 'Method=GET&Fall...') #2 /home/www/BCARD/custom/CEMV/TEMP_CC/Services/Twilio/ListResource.php(92): Base_Services_Twilio->createData('/2010-04-01/Acc...', Array) #3 /home/www/BCARD/custom/CEMV/TEMP_CC/Services/Twilio/Rest/Calls.php(32): Services_Twilio_ListResource->_create(Array) #4 /home/www/BCARD/custom/CEMV/TEMP_CC/autoAlerting.php(100): Services_Twilio_Rest_Calls->create('+441290211984', '+918390786524', 'http://twimlets...', Array) #5 /home/www/BCARD/custom/CEMV/TEMP_CC/autoAlerting.php(39): fnMakeVoiceCall('+918390786524', 'Hi, this is tes...') #6 {main}

    thrown in /home/www/BCARD/custom/CEMV/TEMP_CC/Services/Twilio/TinyHttp.php on line 119

    opened by vkandrikar 16
  • Function create_function() is deprecated in php 7.2.0

    Function create_function() is deprecated in php 7.2.0

    twilio/sdk/Services/Twilio/Resource.php

    /**
     * Return camelized version of a word
     * Examples: sms_messages => SMSMessages, calls => Calls,
     * incoming_phone_numbers => IncomingPhoneNumbers
     *
     * @param string $word The word to camelize
     * @return string
     */
    public static function camelize($word) {
        $callback = create_function('$matches', 'return strtoupper("$matches[2]");');
    
        return preg_replace_callback('/(^|_)([a-z])/',
            $callback,
            $word);
    }
    
    opened by frithhilton 15
  • RequestValidator generating invalid comparison hash.

    RequestValidator generating invalid comparison hash.

    When implementing the security check for webhooks on Laravel 5.5 the signature being generated on the webhook request does not match.

    Version: 5.7.3 API Subdomain (api/taskrouter/ip_messaging): Security

    Code Snippet

    protected function validTwilioRequest()
    {
        $validator = new RequestValidator(env('TWILIO_AUTH_TOKEN'));
    
        return $validator->validate(
            $this->header('X-Twilio-Signature'),
            $this->fullUrl(),
            $this->all()
        );
    }
    

    Exception Log

    [2017-07-04 05:12:05] local.INFO: array (
      'SmsSid' => 'SMe58b190230fa463d9c23638ff6858de4',
      'SmsStatus' => 'delivered',
      'MessageStatus' => 'delivered',
      'To' => '+1480<redacted>',
      'MessageSid' => 'SMe58b190230fa463d9c23638ff6858de4',
      'AccountSid' => 'AC1f45ea18c7b5317c06b1f7d445d597bd',
      'From' => '+1720<redacted>',
      'ApiVersion' => '2010-04-01',
    ) (REQUEST PARAMS "$this->all()")
    [2017-07-04 05:12:05] local.INFO: https://ellis.ngrok.io/webhook/twilio/status (FULL URL "$this->fullUrl()")
    [2017-07-04 05:12:05] local.INFO: GiGBaTH7lUw4sMnn6RRGLUeaq3A= (X-Twilio-Signature)
    [2017-07-04 05:12:05] local.INFO: C5ed4AQZ7rXyFdrRVo7xFq+h94Q= (GENERATED SIG)
    

    Steps to Reproduce

    1. Generate a request with 'statusCallback' => url('/webhook/twilio/status')
    2. Observe the inbound request to the webhook.
    3. Logged the received signature with the generate signature, verified they do not match.
    opened by ellisio 15
  • script break when sending sms

    script break when sending sms

    Hi! I am using a twilio php library. I have written a script which send reminder to users automatically. below is the code

    try {
        $response = $client->account->messages->SendMessage($from_number, $to_number, $sms_message);
        if (isset($response->sid)) {
            $message_delivery_status = 'Delivered';
        }
    } catch (Services_Twilio_RestException $e) {
        echo $e->getMessage();
    }
    

    But it neither displays any error, nor any exception. Script break at first line inside Try block when sms is being sent.

    I cannot find whats is the problem. I am stuck. Please help.

    opened by adeelshaffi 14
  • fix: Add handcrafted domain files

    fix: Add handcrafted domain files

    Fixes

    Add handcrafted domain files to rc branch

    Checklist

    • [x] I acknowledge that all my contributions will be made under the project's license
    • [ ] I have made a material change to the repo (functionality, testing, spelling, grammar)
    • [ ] I have read the Contribution Guidelines and my PR follows them
    • [ ] I have titled the PR appropriately
    • [ ] I have updated my branch with the main branch
    • [ ] I have added tests that prove my fix is effective or that my feature works
    • [ ] I have added the necessary documentation about the functionality in the appropriate .md file
    • [ ] I have added inline documentation to the code I modified

    If you have questions, please file a support ticket, or create a GitHub Issue in this repository.

    opened by rohith-prakash 0
  • Inconsistency between GuzzleClient and Twilio's CurlClient for GET parameters

    Inconsistency between GuzzleClient and Twilio's CurlClient for GET parameters

    Issue Summary

    When using the GuzzleClient instead of the CurlClient, in some cases the GET parameters are not passed properly when making API calls according to Twilio documentation.

    Steps to Reproduce

    Inside the documentation it says we are to make the API call for looking up a phone number's carrier as follows:

    $phone_number = $twilio->lookups->v1->phoneNumbers("+15108675310")
                                        ->fetch([
                                                    "type" => ["carrier"]
                                                ]
                                        );
    

    https://www.twilio.com/docs/lookup/quickstart?code-sample=code-lookup-with-national-formatted-number-1&code-language=PHP&code-sdk-version=6.x

    The result returned is what you expect:

    {
      "caller_name": null,
      "carrier": {
        "error_code": null,
        "mobile_country_code": "310",
        "mobile_network_code": "456",
        "name": "verizon",
        "type": "mobile"
      },
      "country_code": "US",
      "national_format": "(510) 867-5310",
      "phone_number": "(510)867-5310",
      "add_ons": null,
      "url": "https://lookups.twilio.com/v1/PhoneNumbers/+15108675310?Type=carrier"
    }
    

    However, if you use the GuzzleClient and make the same request, the response is different:

    $twilio = new Client($sid, $token, new GuzzleClient);
    
    $phone_number = $twilio->lookups->v1->phoneNumbers("+15108675310")
                                        ->fetch([
                                                    "type" => ["carrier"]
                                                ]
                                        );
    
    {
      "caller_name": null,
      "carrier": null,
      "country_code": "US",
      "national_format": "(510) 867-5310",
      "phone_number": "(510)867-5310",
      "add_ons": null,
      "url": "https://lookups.twilio.com/v1/PhoneNumbers/+15108675310"
    }
    

    Notice the "carrier" is null here instead of being an array, and the "url" is missing the ?Type=carrier portion. For some reason, the client is not passing the "type" GET parameter properly. To correct it, you can pass a string instead of an array for the "type" parameter, like so:

    $twilio = new Client($sid, $token, new GuzzleClient);
    
    $phone_number = $twilio->lookups->v1->phoneNumbers("+15108675310")
                                        ->fetch([
                                                    "countryCode" => "US",
                                                    "type" => "carrier"
                                                ]
                                        );
    

    This is either a mistake in the documentation, or a mistake in the implementation of the GuzzleClient.

    Technical details:

    • twilio-php version: 6.43.4
    • php version: 8.1.8
    type: bug status: help wanted 
    opened by trevorgehman 2
  • `InstanceResource` properties are `camelCase`, leading to confusion against `snake_case` API documentation

    `InstanceResource` properties are `camelCase`, leading to confusion against `snake_case` API documentation

    The Twilio API documentation shows PHP examples with return structures containing properties that are snake_case:

    https://www.twilio.com/docs/usage/api/applications

    {
      "account_sid": "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
      "api_version": "2010-04-01",
      "date_created": "Mon, 22 Aug 2011 20:59:45 +0000",
      "date_updated": "Tue, 18 Aug 2015 16:48:57 +0000",
      "friendly_name": "Phone Me",
      "message_status_callback": "http://www.example.com/sms-status-callback",
    }
    

    Yet these properties are transformed into camelCase, leading to confusion when transforming these instances ->toArray() and expecting the same response that the API documentation displays:

    https://github.com/twilio/twilio-php/blob/10c7f8b6f4719c23c6e90c9b2e28ebdb735aea48/src/Twilio/Rest/Api/V2010/Account/ApplicationInstance.php#L54-L60

    // [
    //     "accountSid" => "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
    //     "apiVersion" => "2010-04-01",
    //     "dateCreated" => "Mon, 22 Aug 2011 20:59:45 +0000",
    //     "dateUpdated" => "Tue, 18 Aug 2015 16:48:57 +0000",
    //     "friendlyName" => "Phone Me",
    //     "messageStatusCallback" => "http://www.example.com/sms-status-callback",
    // ]
    $application->toArray()
    

    Since the InstanceResource classes already use a magic __get(), could we preserve the structure of the API response in $properties and then snake the requested $property?

    public function __get($property)
    {
        $property = strtolower(preg_replace('/(.)(?=[A-Z])/u', '$1_', $property));
        
        return $this->properties[$property] ?? null;
    }
    

    This would also remove the need to parse the payload and camelCase all of their properties manually (even though this is automated via your API generation tool).

    Thanks for your time!

    type: community enhancement status: help wanted 
    opened by stevebauman 1
  • fix: `capabilities` property type doc

    fix: `capabilities` property type doc

    The capabilities property is an array of string keys with bool values, instead of a string property as declared on the IncomingPhoneNumberList resource.

    https://www.twilio.com/docs/phone-numbers/api/incomingphonenumber-resource#create-an-incomingphonenumber-resource

    $phoneNumber = $twilio->incomingPhoneNumbers->read()[0];
    
    // array:4 [
    //   "fax" => false
    //   "voice" => true
    //   "sms" => true
    //   "mms" => true
    // ]
    var_dump($phoneNumber->capabilities);
    
    code-generation type: twilio enhancement status: waiting for feature 
    opened by stevebauman 3
  • Incorrect type information in Twilio\Rest\Api\V2010\Account\MessageInstance

    Incorrect type information in Twilio\Rest\Api\V2010\Account\MessageInstance

    Issue Summary

    There is incorrect type information for the MessageInstance::$errorCode property.

    The type hint suggests it will always be an int:

     @property int $errorCode
    

    I'm getting TypeErrors, it seems that $errorCode can also be null.

    Please can you update the docblock to the correct type:

     @property int|null $errorCode
    

    As the use of static analysis tools is increasing it is quite important that type information is correct.

    Thanks

    code-generation type: community enhancement status: help wanted 
    opened by DaveLiddament 3
Releases(6.44.0)
  • 6.44.0(Dec 14, 2022)

    Release Notes

    Api

    • Add street_secondary param to address create and update
    • Make method optional for user defined message subscription (breaking change)

    Flex

    • Flex Conversations is now Generally Available
    • Adding the ie1 mapping for authorization api, updating service base uri and base url response attribute (breaking change)
    • Change web channels to GA and library visibility to public
    • Changing the uri for authorization api from using Accounts to Insights (breaking change)

    Media

    • Gate Twilio Live endpoints behind beta_feature for EOS

    Messaging

    • Mark MessageFlow as a required field for Campaign Creation (breaking change)

    Oauth

    • updated openid discovery endpoint uri (breaking change)
    • Added device code authorization endpoint

    Supersim

    • Allow filtering the SettingsUpdates resource by status

    Twiml

    • Add new Polly Neural voices
    • Add tr-TR, ar-AE, yue-CN, fi-FI languages to SSML <lang> element.
    • Add x-amazon-jyutping, x-amazon-pinyin, x-amazon-pron-kana, x-amazon-yomigana alphabets to SSML <phoneme> element.
    • Rename character value for SSML <say-as> interpret-as attribute to characters. (breaking change)
    • Rename role attribute to format in SSML <say-as> element. (breaking change)

    Docs

    Source code(tar.gz)
    Source code(zip)
  • 6.43.4(Nov 30, 2022)

    Release Notes

    Flex

    • Adding new assessments api in version v1

    Lookups

    • Add identity_match package to the lookup response

    Messaging

    • Added validated parameter to Link Shortening API

    Serverless

    • Add node16 as a valid Build runtime
    • Add ie1 and au1 as supported regions for all endpoints.

    Docs

    Source code(tar.gz)
    Source code(zip)
  • 6.43.3(Nov 16, 2022)

    Release Notes

    Library - Chore

    Api

    • Set the Content resource to have public visibility as Preview

    Flex

    • Adding new parameter base_url to 'gooddata' response in version v1

    Insights

    • Added answered_by field in List Call Summary
    • Added answered_by field in call summary

    Docs

    Source code(tar.gz)
    Source code(zip)
  • 6.43.2(Nov 10, 2022)

    Release Notes

    Flex

    • Adding two new authorization API 'user_roles' and 'gooddata' in version v1

    Messaging

    • Add new Campaign properties (MessageFlow, OptInMessage, OptInKeywords, OptOutMessage, OptOutKeywords, HelpMessage, HelpKeywords)

    Twiml

    • Add new speech models to Gather.

    Docs

    Source code(tar.gz)
    Source code(zip)
  • 6.43.1(Oct 31, 2022)

    Release Notes

    Api

    • Added contentSid and contentVariables to Message resource with public visibility as Beta
    • Add UserDefinedMessageSubscription and UserDefinedMessage resource

    Proxy

    • Remove FailOnParticipantConflict param from Proxy Session create and update and Proxy Participant create

    Supersim

    • Update SettingsUpdates resource to remove PackageSid

    Taskrouter

    • Add Ordering query parameter to Workers and TaskQueues for sorting by
    • Add worker_sid query param for list reservations endpoint

    Twiml

    • Add url and method attributes to <Conversation>

    Docs

    Source code(tar.gz)
    Source code(zip)
  • 6.43.0(Oct 19, 2022)

    Release Notes

    Api

    • Make link shortening parameters public (breaking change)

    Oauth

    • added oauth JWKS endpoint
    • Get userinfo resource
    • OpenID discovery resource
    • Add new API for token endpoint

    Supersim

    • Add SettingsUpdates resource

    Verify

    • Update Verify Push endpoints to ga maturity
    • Verify BYOT add Channels property to the Get Templates response

    Twiml

    • Add requireMatchingInputs attribute and input-matching-failed errorType to <Prompt>

    Docs

    Source code(tar.gz)
    Source code(zip)
  • 6.42.2(Oct 5, 2022)

  • 6.42.1(Sep 21, 2022)

  • 6.42.0(Sep 7, 2022)

    Release Notes

    Flex

    • Removed redundant close status from Flex Interactions flow (breaking change)
    • Adding debugger_integration and flex_ui_status_report to Flex Configuration

    Messaging

    • Add create, list and get tollfree verification API

    Verify

    • Verify SafeList API endpoints added.

    Video

    • Add Anonymize API

    Twiml

    • Update event value call-in-progress to call-answered

    Docs

    Source code(tar.gz)
    Source code(zip)
  • 6.41.0(Aug 24, 2022)

    Release Notes

    Library - Test

    Api

    • Remove beta feature from scheduling params and remove optimize parameters. (breaking change)

    Routes

    • Remove Duplicate Create Method - Update Method will work even if Inbound Processing Region is currently empty/404. (breaking change)

    Twiml

    • Add new Polly Neural voices
    • Add new languages to SSML <lang>.

    Docs

    Source code(tar.gz)
    Source code(zip)
  • 6.40.1(Aug 10, 2022)

  • 6.40.0(Jul 21, 2022)

    Release Notes

    Library - Fix

    Flex

    • Add status, error_code, and error_message fields to Interaction Channel
    • Adding messenger and gbm as supported channels for Interactions API

    Messaging

    • Update alpha_sender docs with new valid characters

    Verify

    • Reorder Verification Check parameters so code stays as the first parameter (breaking change)
    • Rollback List Attempts API V2 back to pilot stage.

    Docs

    Source code(tar.gz)
    Source code(zip)
  • 6.39.0(Jul 13, 2022)

    Release Notes

    Library - Fix

    Library - Test

    Conversations

    • Allowed to use identity as part of Participant's resource (breaking change)

    Lookups

    • Remove enhanced_line_type from the lookup response (breaking change)

    Supersim

    • Add support for sim_ip_addresses resource to helper libraries

    Verify

    • Changed summary param service_sid to verify_service_sid to be consistent with list attempts API (breaking change)
    • Make code optional on Verification check to support sna attempts. (breaking change)

    Docs

    Source code(tar.gz)
    Source code(zip)
  • 6.38.0(Jun 29, 2022)

    Release Notes

    Api

    • Added amazon-polly to usage_record API.

    Insights

    • Added annotation field in call summary
    • Added new endpoint to fetch/create/update Call Annotations

    Verify

    • Remove api.verify.totp beta flag and set maturity to beta for Verify TOTP properties and parameters. (breaking change)
    • Changed summary param verify_service_sid to service_sid to be consistent with list attempts API (breaking change)

    Twiml

    • Add maxQueueSize to Enqueue

    Docs

    Source code(tar.gz)
    Source code(zip)
  • 6.37.3(Jun 15, 2022)

    Release Notes

    Lookups

    • Adding support for Lookup V2 API

    Studio

    • Corrected PII labels to be 30 days and added context to be PII

    Twiml

    • Add statusCallbackMethod attribute, nested <Config and <Parameter> elements to <VirtualAgent> noun.
    • Add support for new Amazon Polly voices (Q2 2022) for Say verb
    • Add support for <Conversation> noun

    Docs

    Source code(tar.gz)
    Source code(zip)
  • 6.37.2(Jun 1, 2022)

  • 6.37.1(May 18, 2022)

  • 6.37.0(May 4, 2022)

    Release Notes

    Library - Test

    Conversations

    • Expose query parameter type in list operation on Address Configurations resource

    Supersim

    • Add data_total_billed and billed_units fields to Super SIM UsageRecords API response.
    • Change ESimProfiles Eid parameter to optional to enable Activation Code download method support (breaking change)

    Verify

    • Deprecate push.include_date parameter in create and update service.

    Docs

    Source code(tar.gz)
    Source code(zip)
  • 6.36.1(Apr 6, 2022)

    Release Notes

    Library - Chore

    Api

    • Updated provider_sid visibility to private

    Verify

    • Verify List Attempts API summary endpoint added.
    • Update PII documentation for AccessTokens factor_friendly_name property.

    Voice

    • make annotation parameter from /Calls API private

    Docs

    Source code(tar.gz)
    Source code(zip)
  • 6.36.0(Mar 23, 2022)

    Release Notes

    Library - Docs

    Api

    • Change stream url parameter to non optional
    • Add verify-totp and verify-whatsapp-conversations-business-initiated categories to usage_record API

    Chat

    • Added v3 Channel update endpoint to support Public to Private channel migration

    Flex

    • Private Beta release of the Interactions API to support the upcoming release of Flex Conversations at the end of Q1 2022.
    • Adding channel_configs object to Flex Configuration

    Media

    • Add max_duration param to PlayerStreamer

    Supersim

    • Remove Commands resource, use SmsCommands resource instead (breaking change)

    Taskrouter

    • Add limits to split_by_wait_time for Cumulative Statistics Endpoint

    Video

    • Change recording status_callback_method type from enum to http_method (breaking change)
    • Add status_callback and status_callback_method to composition
    • Add status_callback and status_callback_method to recording

    Docs

    Source code(tar.gz)
    Source code(zip)
  • 6.35.1(Mar 9, 2022)

    Release Notes

    Library - Chore

    Api

    • Add optional boolean include_soft_deleted parameter to retrieve soft deleted recordings

    Chat

    • Add X-Twilio-Wehook-Enabled header to delete method in UserChannel resource

    Numbers

    • Expose failure_reason in the Supporting Documents resources

    Verify

    • Add optional metadata parameter to "verify challenge" endpoint, so the SDK/App can attach relevant information from the device when responding to challenges.
    • remove beta feature flag to list atempt api operations.
    • Add ttl and date_created properties to AccessTokens.

    Docs

    Source code(tar.gz)
    Source code(zip)
  • 6.35.0(Feb 23, 2022)

    Release Notes

    Api

    • Add uri to stream resource
    • Add A2P Registration Fee category (a2p-registration-fee) to usage records
    • Detected a bug and removed optional boolean include_soft_deleted parameter to retrieve soft deleted recordings. (breaking change)
    • Add optional boolean include_soft_deleted parameter to retrieve soft deleted recordings.

    Numbers

    • Unrevert valid_until and sort filter params added to List Bundles resource
    • Revert valid_until and sort filter params added to List Bundles resource
    • Update sorting params added to List Bundles resource in the previous release

    Preview

    • Moved web_channels from preview to beta under flex-api (breaking change)

    Taskrouter

    • Add ETag as Response Header to List of Task, Reservation & Worker

    Verify

    • Remove outdated documentation commentary to contact sales. Product is already in public beta.
    • Add optional metadata to factors.

    Twiml

    • Add new Polly Neural voices

    Docs

    Source code(tar.gz)
    Source code(zip)
  • 6.34.0(Feb 9, 2022)

    Release Notes

    Library - Fix

    Api

    • Add stream resource

    Conversations

    • Fixed DELETE request to accept "sid_like" params in Address Configuration resources (breaking change)
    • Expose Address Configuration resource for sms and whatsapp

    Fax

    • Removed deprecated Programmable Fax Create and Update methods (breaking change)

    Insights

    • Rename call_state to call_status and remove whisper in conference participant summary (breaking change)

    Numbers

    • Expose valid_until filters as part of provisionally-approved compliance feature on the List Bundles resource

    Supersim

    • Fix typo in Fleet resource docs
    • Updated documentation for the Fleet resource indicating that fields related to commands have been deprecated and to use sms_command fields instead.
    • Add support for setting and reading ip_commands_url and ip_commands_method on Fleets resource for helper libraries
    • Changed sim property in requests to create an SMS Command made to the /SmsCommands to accept SIM UniqueNames in addition to SIDs

    Verify

    • Update list attempts API to include new filters and response fields.

    Docs

    Source code(tar.gz)
    Source code(zip)
  • 6.33.1(Jan 26, 2022)

    Release Notes

    Insights

    • Added new endpoint to fetch Conference Participant Summary
    • Added new endpoint to fetch Conference Summary

    Messaging

    • Add government_entity parameter to brand apis

    Verify

    • Add Access Token fetch endpoint to retrieve a previously created token.
    • Add Access Token payload to the Access Token creation endpoint, including a unique Sid, so it's addressable while it's TTL is valid.

    Docs

    Source code(tar.gz)
    Source code(zip)
  • 6.33.0(Jan 12, 2022)

    Release Notes

    Library - Feature

    Api

    • Make fixed time scheduling parameters public (breaking change)

    Messaging

    • Add update brand registration API

    Numbers

    • Add API endpoint for List Bundle Copies resource

    Video

    • Enable external storage for all customers

    Docs

    Source code(tar.gz)
    Source code(zip)
  • 6.32.0(Dec 15, 2021)

    Release Notes

    Library - Feature

    Api

    • Add optional boolean send_as_mms parameter to the create action of Message resource (breaking change)
    • Change team ownership for call delete

    Conversations

    • Change wording for Service Webhook Configuration resource fields

    Insights

    • Added new APIs for updating and getting voice insights flags by accountSid.

    Media

    • Add max_duration param to MediaProcessor

    Video

    • Add EmptyRoomTimeout and UnusedRoomTimeout properties to a room; add corresponding parameters to room creation

    Voice

    • Add endpoint to delete archived Calls

    Docs

    Source code(tar.gz)
    Source code(zip)
  • 6.31.2(Dec 1, 2021)

    Release Notes

    Library - Chore

    Conversations

    • Add Service Webhook Configuration resource

    Flex

    • Adding flex_insights_drilldown and flex_url objects to Flex Configuration

    Messaging

    • Update us_app_to_person endpoints to remove beta feature flag based access

    Supersim

    • Add IP Commands resource

    Verify

    • Add optional factor_friendly_name parameter to the create access token endpoint.

    Video

    • Add maxParticipantDuration param to Rooms

    Twiml

    • Unrevert Add supported SSML children to <emphasis>, <lang>, <p>, <prosody>, <s>, and <w>.
    • Revert Add supported SSML children to <emphasis>, <lang>, <p>, <prosody>, <s>, and <w>.

    Docs

    Source code(tar.gz)
    Source code(zip)
  • 6.31.1(Nov 17, 2021)

    Release Notes

    Library - Chore

    Library - Fix

    Frontline

    • Added is_available to User's resource

    Messaging

    • Added GET vetting API

    Verify

    • Add WHATSAPP to the attempts API.
    • Allow to update config.notification_platform from none to apn or fcm and viceversa for Verify Push
    • Add none as a valid config.notification_platform value for Verify Push

    Twiml

    • Add supported SSML children to <emphasis>, <lang>, <p>, <prosody>, <s>, and <w>.

    Docs

    Source code(tar.gz)
    Source code(zip)
  • 6.31.0(Nov 3, 2021)

    Release Notes

    Library - Chore

    Api

    • Updated media_url property to be treated as PII

    Messaging

    • Added a new enum for brand registration status named DELETED (breaking change)
    • Add a new K12_EDUCATION use case in us_app_to_person_usecase api transaction
    • Added a new enum for brand registration status named IN_REVIEW

    Serverless

    • Add node14 as a valid Build runtime

    Verify

    • Fix typos in Verify Push Factor documentation for the config.notification_token parameter.
    • Added TemplateCustomSubstitutions on verification creation
    • Make TemplateSid parameter public for Verification resource and DefaultTemplateSid parameter public for Service resource. (breaking change)

    Docs

    Source code(tar.gz)
    Source code(zip)
  • 6.30.0(Oct 18, 2021)

    Release Notes

    Library - Feature

    Library - Fix

    Library - Chore

    Api

    • Corrected enum values for emergency_address_status values in /IncomingPhoneNumbers response. (breaking change)
    • Clarify emergency_address_status values in /IncomingPhoneNumbers response.

    Messaging

    • Add PUT and List brand vettings api
    • Removes beta feature flag based visibility for us_app_to_person_registered and usecase field.Updates test cases to add POLITICAL usecase. (breaking change)
    • Add brand_feedback as optional field to BrandRegistrations

    Video

    • Add AudioOnly to create room

    Docs

    Source code(tar.gz)
    Source code(zip)
PHP module for communicating with the Veryfi OCR API

Veryfi is a php module for communicating with the Veryfi OCR API

Veryfi 9 Oct 11, 2022
PHP library to use IOTA REST API to help node management and tangle queries

iota.php About PHP library to use IOTA REST API to help node management and tangle queries. Please be aware that this library is in an early developme

IOTA Community 45 Dec 13, 2022
Nexmo REST API client for PHP. API support for SMS, Voice, Text-to-Speech, Numbers, Verify (2FA) and more.

Client Library for PHP Support Notice This library and it's associated packages, nexmo/client and nexmo/client-core have transitioned into a "Maintena

Nexmo 75 Sep 23, 2022
This library is for integration with Salesforce via REST API.

xsolve-pl/salesforce-client Introduction This library is for integration with Salesforce via REST API. Licence This library is under the MIT license.

Boldare / XSolve Sp. z o.o. 31 Oct 13, 2022
Twitter REST API for PHP 5.3+

README The Wid'op Twitter REST library is a modern PHP 5.3+ API allowing you to easily interact with Twitter 1.1. In order to sign your request with t

Wid'op 24 Aug 10, 2020
Xendit REST API Client for PHP - Card, Virtual Account, Invoice, Disbursement, Recurring Payments, Payout, EWallet, Balance, Retail Outlets Services

Xendit REST API Client for PHP - Card, Virtual Account, Invoice, Disbursement, Recurring Payments, Payout, EWallet, Balance, Retail Outlets Services

Xendit 96 Jan 6, 2023
Interacting with Mastodon's REST API for Kirby v3

Kirby3 Mastodon This plugin provides access to your Mastodon statuses, called 'toots'. Getting started Use one of the following methods to install & u

Fundevogel 5 Dec 31, 2022
Пакет позволяющий работать с REST API SMS-сервиса «SMS Aero»

SMS-сервис «SMS Aero» ?? Пакет позволяющий работать с REST API SMS-сервиса «SMS Aero» ?? Изменения: Все заметные изменения в этом проекте будут задоку

Артём Соколовский 2 Feb 6, 2022
This package help you build your REST API documentation.

Laravel API Doc This package help you build your REST API documentation. Installation You can install the package via composer: composer require axeld

Axel 2 May 19, 2022
OpenAI API Client is a component-oriented, extensible client library for the OpenAI API. It's designed to be faster and more memory efficient than traditional PHP libraries.

OpenAI API Client in PHP (community-maintained) This library is a component-oriented, extensible client library for the OpenAI API. It's designed to b

Mounir R'Quiba 6 Jun 14, 2023
Just a simple API PHP library with basic functions and config.

Installation Clone this Repository in your PHP Project git clone https://github.com/maximilianosinski/simple-api-php-library.git Change your Project n

Maximilian Osinski 1 May 9, 2022
Lightweight PHP library for WhatsApp API to send the whatsapp messages in PHP provided by ultramsg.com

Ultramsg.com WhatsApp API PHP SDK Lightweight PHP library for WhatsApp API to send the whatsappp messages in PHP provided by Ultramsg.com Installation

Ultramsg 117 Dec 26, 2022
Google-api-php-client - A PHP client library for accessing Google APIs

Google APIs Client Library for PHP Reference Docs https://googleapis.github.io/google-api-php-client/main/ License Apache 2.0 The Google API Client Li

Google APIs 8.4k Dec 30, 2022
Wise-php - This library is written to accommodate the wise API's use in php projects With Wise

Wise-php - This library is written to accommodate the wise API's use in php projects With Wise you can automate payments, connect your business tools, and create ways to manage your finances. You can also power your cross-border and domestic payouts.

Albert Xhani 15 Nov 17, 2022
BeckhoffPLCSoapClient - SoapClient to communicate with BeckHoff PLC. Library made in PHP based on TcAdsWebService JavaScript Library.

BeckhoffPLCSoapClient - SoapClient to communicate with BeckHoff PLC. Library made in PHP based on TcAdsWebService JavaScript Library.

null 3 May 18, 2022
PHP library for the Stripe API.

Stripe PHP bindings The Stripe PHP library provides convenient access to the Stripe API from applications written in the PHP language. It includes a p

Stripe 3.3k Jan 5, 2023
A PHP library for the Campaign Monitor API

createsend A PHP library which implements the complete functionality of the Campaign Monitor API. Installation Composer If you use Composer, you can r

Campaign Monitor 287 Jan 6, 2023
PHP 5.3+ library which helps you to interact with the DigitalOcean API

DigitalOcean The version 2 of the API will be available soon ! Please visit DigitalOceanV2 and contribute :) This PHP 5.3+ library helps you to intera

Antoine Kirk 156 Jul 30, 2022
PHP library for the GitHub API v3

GitHub API v3 - PHP Library Currently under construction. Overview Provides access to GitHub API v3 via an Object Oriented PHP library. The goal of th

Darren Rees 62 Jul 28, 2022