962 lines
29 KiB
PHP
Executable File
962 lines
29 KiB
PHP
Executable File
<?php
|
|
|
|
/**
|
|
* This code was generated by
|
|
* \ / _ _ _| _ _
|
|
* | (_)\/(_)(_|\/| |(/_ v1.0.0
|
|
* / /
|
|
*/
|
|
|
|
namespace Twilio\Rest;
|
|
|
|
use Twilio\Exceptions\ConfigurationException;
|
|
use Twilio\Exceptions\TwilioException;
|
|
use Twilio\Http\Client as HttpClient;
|
|
use Twilio\Http\CurlClient;
|
|
use Twilio\VersionInfo;
|
|
|
|
/**
|
|
* A client for accessing the Twilio API.
|
|
*
|
|
* @property \Twilio\Rest\Accounts $accounts
|
|
* @property \Twilio\Rest\Api $api
|
|
* @property \Twilio\Rest\Authy $authy
|
|
* @property \Twilio\Rest\Autopilot $autopilot
|
|
* @property \Twilio\Rest\Chat $chat
|
|
* @property \Twilio\Rest\Conversations $conversations
|
|
* @property \Twilio\Rest\Fax $fax
|
|
* @property \Twilio\Rest\FlexApi $flexApi
|
|
* @property \Twilio\Rest\Insights $insights
|
|
* @property \Twilio\Rest\IpMessaging $ipMessaging
|
|
* @property \Twilio\Rest\Lookups $lookups
|
|
* @property \Twilio\Rest\Messaging $messaging
|
|
* @property \Twilio\Rest\Monitor $monitor
|
|
* @property \Twilio\Rest\Notify $notify
|
|
* @property \Twilio\Rest\Preview $preview
|
|
* @property \Twilio\Rest\Pricing $pricing
|
|
* @property \Twilio\Rest\Proxy $proxy
|
|
* @property \Twilio\Rest\Serverless $serverless
|
|
* @property \Twilio\Rest\Studio $studio
|
|
* @property \Twilio\Rest\Sync $sync
|
|
* @property \Twilio\Rest\Taskrouter $taskrouter
|
|
* @property \Twilio\Rest\Trunking $trunking
|
|
* @property \Twilio\Rest\Verify $verify
|
|
* @property \Twilio\Rest\Video $video
|
|
* @property \Twilio\Rest\Voice $voice
|
|
* @property \Twilio\Rest\Wireless $wireless
|
|
* @property \Twilio\Rest\Api\V2010\AccountInstance $account
|
|
* @property \Twilio\Rest\Api\V2010\Account\AddressList $addresses
|
|
* @property \Twilio\Rest\Api\V2010\Account\ApplicationList $applications
|
|
* @property \Twilio\Rest\Api\V2010\Account\AuthorizedConnectAppList $authorizedConnectApps
|
|
* @property \Twilio\Rest\Api\V2010\Account\AvailablePhoneNumberCountryList $availablePhoneNumbers
|
|
* @property \Twilio\Rest\Api\V2010\Account\BalanceList $balance
|
|
* @property \Twilio\Rest\Api\V2010\Account\CallList $calls
|
|
* @property \Twilio\Rest\Api\V2010\Account\ConferenceList $conferences
|
|
* @property \Twilio\Rest\Api\V2010\Account\ConnectAppList $connectApps
|
|
* @property \Twilio\Rest\Api\V2010\Account\IncomingPhoneNumberList $incomingPhoneNumbers
|
|
* @property \Twilio\Rest\Api\V2010\Account\KeyList $keys
|
|
* @property \Twilio\Rest\Api\V2010\Account\MessageList $messages
|
|
* @property \Twilio\Rest\Api\V2010\Account\NewKeyList $newKeys
|
|
* @property \Twilio\Rest\Api\V2010\Account\NewSigningKeyList $newSigningKeys
|
|
* @property \Twilio\Rest\Api\V2010\Account\NotificationList $notifications
|
|
* @property \Twilio\Rest\Api\V2010\Account\OutgoingCallerIdList $outgoingCallerIds
|
|
* @property \Twilio\Rest\Api\V2010\Account\QueueList $queues
|
|
* @property \Twilio\Rest\Api\V2010\Account\RecordingList $recordings
|
|
* @property \Twilio\Rest\Api\V2010\Account\SigningKeyList $signingKeys
|
|
* @property \Twilio\Rest\Api\V2010\Account\SipList $sip
|
|
* @property \Twilio\Rest\Api\V2010\Account\ShortCodeList $shortCodes
|
|
* @property \Twilio\Rest\Api\V2010\Account\TokenList $tokens
|
|
* @property \Twilio\Rest\Api\V2010\Account\TranscriptionList $transcriptions
|
|
* @property \Twilio\Rest\Api\V2010\Account\UsageList $usage
|
|
* @property \Twilio\Rest\Api\V2010\Account\ValidationRequestList $validationRequests
|
|
* @method \Twilio\Rest\Api\V2010\AccountContext accounts(string $sid)
|
|
* @method \Twilio\Rest\Api\V2010\Account\AddressContext addresses(string $sid)
|
|
* @method \Twilio\Rest\Api\V2010\Account\ApplicationContext applications(string $sid)
|
|
* @method \Twilio\Rest\Api\V2010\Account\AuthorizedConnectAppContext authorizedConnectApps(string $connectAppSid)
|
|
* @method \Twilio\Rest\Api\V2010\Account\AvailablePhoneNumberCountryContext availablePhoneNumbers(string $countryCode)
|
|
* @method \Twilio\Rest\Api\V2010\Account\CallContext calls(string $sid)
|
|
* @method \Twilio\Rest\Api\V2010\Account\ConferenceContext conferences(string $sid)
|
|
* @method \Twilio\Rest\Api\V2010\Account\ConnectAppContext connectApps(string $sid)
|
|
* @method \Twilio\Rest\Api\V2010\Account\IncomingPhoneNumberContext incomingPhoneNumbers(string $sid)
|
|
* @method \Twilio\Rest\Api\V2010\Account\KeyContext keys(string $sid)
|
|
* @method \Twilio\Rest\Api\V2010\Account\MessageContext messages(string $sid)
|
|
* @method \Twilio\Rest\Api\V2010\Account\NotificationContext notifications(string $sid)
|
|
* @method \Twilio\Rest\Api\V2010\Account\OutgoingCallerIdContext outgoingCallerIds(string $sid)
|
|
* @method \Twilio\Rest\Api\V2010\Account\QueueContext queues(string $sid)
|
|
* @method \Twilio\Rest\Api\V2010\Account\RecordingContext recordings(string $sid)
|
|
* @method \Twilio\Rest\Api\V2010\Account\SigningKeyContext signingKeys(string $sid)
|
|
* @method \Twilio\Rest\Api\V2010\Account\ShortCodeContext shortCodes(string $sid)
|
|
* @method \Twilio\Rest\Api\V2010\Account\TranscriptionContext transcriptions(string $sid)
|
|
*/
|
|
class Client {
|
|
const ENV_ACCOUNT_SID = "TWILIO_ACCOUNT_SID";
|
|
const ENV_AUTH_TOKEN = "TWILIO_AUTH_TOKEN";
|
|
|
|
protected $username;
|
|
protected $password;
|
|
protected $accountSid;
|
|
protected $region;
|
|
protected $httpClient;
|
|
protected $_account;
|
|
protected $_accounts = null;
|
|
protected $_api = null;
|
|
protected $_authy = null;
|
|
protected $_autopilot = null;
|
|
protected $_chat = null;
|
|
protected $_conversations = null;
|
|
protected $_fax = null;
|
|
protected $_flexApi = null;
|
|
protected $_insights = null;
|
|
protected $_ipMessaging = null;
|
|
protected $_lookups = null;
|
|
protected $_messaging = null;
|
|
protected $_monitor = null;
|
|
protected $_notify = null;
|
|
protected $_preview = null;
|
|
protected $_pricing = null;
|
|
protected $_proxy = null;
|
|
protected $_serverless = null;
|
|
protected $_studio = null;
|
|
protected $_sync = null;
|
|
protected $_taskrouter = null;
|
|
protected $_trunking = null;
|
|
protected $_verify = null;
|
|
protected $_video = null;
|
|
protected $_voice = null;
|
|
protected $_wireless = null;
|
|
|
|
/**
|
|
* Initializes the Twilio Client
|
|
*
|
|
* @param string $username Username to authenticate with
|
|
* @param string $password Password to authenticate with
|
|
* @param string $accountSid Account Sid to authenticate with, defaults to
|
|
* $username
|
|
* @param string $region Region to send requests to, defaults to no region
|
|
* selection
|
|
* @param \Twilio\Http\Client $httpClient HttpClient, defaults to CurlClient
|
|
* @param mixed[] $environment Environment to look for auth details, defaults
|
|
* to $_ENV
|
|
* @return \Twilio\Rest\Client Twilio Client
|
|
* @throws ConfigurationException If valid authentication is not present
|
|
*/
|
|
public function __construct($username = null, $password = null, $accountSid = null, $region = null, HttpClient $httpClient = null, $environment = null) {
|
|
if (is_null($environment)) {
|
|
$environment = $_ENV;
|
|
}
|
|
|
|
if ($username) {
|
|
$this->username = $username;
|
|
} else {
|
|
if (array_key_exists(self::ENV_ACCOUNT_SID, $environment)) {
|
|
$this->username = $environment[self::ENV_ACCOUNT_SID];
|
|
}
|
|
}
|
|
|
|
if ($password) {
|
|
$this->password = $password;
|
|
} else {
|
|
if (array_key_exists(self::ENV_AUTH_TOKEN, $environment)) {
|
|
$this->password = $environment[self::ENV_AUTH_TOKEN];
|
|
}
|
|
}
|
|
|
|
if (!$this->username || !$this->password) {
|
|
throw new ConfigurationException("Credentials are required to create a Client");
|
|
}
|
|
|
|
$this->accountSid = $accountSid ?: $this->username;
|
|
$this->region = $region;
|
|
|
|
if ($httpClient) {
|
|
$this->httpClient = $httpClient;
|
|
} else {
|
|
$this->httpClient = new CurlClient();
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Makes a request to the Twilio API using the configured http client
|
|
* Authentication information is automatically added if none is provided
|
|
*
|
|
* @param string $method HTTP Method
|
|
* @param string $uri Fully qualified url
|
|
* @param string[] $params Query string parameters
|
|
* @param string[] $data POST body data
|
|
* @param string[] $headers HTTP Headers
|
|
* @param string $username User for Authentication
|
|
* @param string $password Password for Authentication
|
|
* @param int $timeout Timeout in seconds
|
|
* @return \Twilio\Http\Response Response from the Twilio API
|
|
*/
|
|
public function request($method, $uri, $params = array(), $data = array(), $headers = array(), $username = null, $password = null, $timeout = null) {
|
|
$username = $username ? $username : $this->username;
|
|
$password = $password ? $password : $this->password;
|
|
|
|
$headers['User-Agent'] = 'twilio-php/' . VersionInfo::string() .
|
|
' (PHP ' . phpversion() . ')';
|
|
$headers['Accept-Charset'] = 'utf-8';
|
|
|
|
if ($method == 'POST' && !array_key_exists('Content-Type', $headers)) {
|
|
$headers['Content-Type'] = 'application/x-www-form-urlencoded';
|
|
}
|
|
|
|
if (!array_key_exists('Accept', $headers)) {
|
|
$headers['Accept'] = 'application/json';
|
|
}
|
|
|
|
if ($this->region) {
|
|
list($head, $tail) = explode('.', $uri, 2);
|
|
|
|
if (strpos($tail, $this->region) !== 0) {
|
|
$uri = implode('.', array($head, $this->region, $tail));
|
|
}
|
|
}
|
|
|
|
return $this->getHttpClient()->request(
|
|
$method,
|
|
$uri,
|
|
$params,
|
|
$data,
|
|
$headers,
|
|
$username,
|
|
$password,
|
|
$timeout
|
|
);
|
|
}
|
|
|
|
/**
|
|
* Retrieve the Username
|
|
*
|
|
* @return string Current Username
|
|
*/
|
|
public function getUsername() {
|
|
return $this->username;
|
|
}
|
|
|
|
/**
|
|
* Retrieve the Password
|
|
*
|
|
* @return string Current Password
|
|
*/
|
|
public function getPassword() {
|
|
return $this->password;
|
|
}
|
|
|
|
/**
|
|
* Retrieve the AccountSid
|
|
*
|
|
* @return string Current AccountSid
|
|
*/
|
|
public function getAccountSid() {
|
|
return $this->accountSid;
|
|
}
|
|
|
|
/**
|
|
* Retrieve the Region
|
|
*
|
|
* @return string Current Region
|
|
*/
|
|
public function getRegion() {
|
|
return $this->region;
|
|
}
|
|
|
|
/**
|
|
* Retrieve the HttpClient
|
|
*
|
|
* @return \Twilio\Http\Client Current HttpClient
|
|
*/
|
|
public function getHttpClient() {
|
|
return $this->httpClient;
|
|
}
|
|
|
|
/**
|
|
* Set the HttpClient
|
|
*
|
|
* @param \Twilio\Http\Client $httpClient HttpClient to use
|
|
*/
|
|
public function setHttpClient(HttpClient $httpClient) {
|
|
$this->httpClient = $httpClient;
|
|
}
|
|
|
|
/**
|
|
* Access the Accounts Twilio Domain
|
|
*
|
|
* @return \Twilio\Rest\Accounts Accounts Twilio Domain
|
|
*/
|
|
protected function getAccounts() {
|
|
if (!$this->_accounts) {
|
|
$this->_accounts = new Accounts($this);
|
|
}
|
|
return $this->_accounts;
|
|
}
|
|
|
|
/**
|
|
* Access the Api Twilio Domain
|
|
*
|
|
* @return \Twilio\Rest\Api Api Twilio Domain
|
|
*/
|
|
protected function getApi() {
|
|
if (!$this->_api) {
|
|
$this->_api = new Api($this);
|
|
}
|
|
return $this->_api;
|
|
}
|
|
|
|
/**
|
|
* @return \Twilio\Rest\Api\V2010\AccountContext Account provided as the
|
|
* authenticating account
|
|
*/
|
|
public function getAccount() {
|
|
return $this->api->v2010->account;
|
|
}
|
|
|
|
/**
|
|
* @return \Twilio\Rest\Api\V2010\Account\AddressList
|
|
*/
|
|
protected function getAddresses() {
|
|
return $this->api->v2010->account->addresses;
|
|
}
|
|
|
|
/**
|
|
* @param string $sid The unique string that identifies the resource
|
|
* @return \Twilio\Rest\Api\V2010\Account\AddressContext
|
|
*/
|
|
protected function contextAddresses($sid) {
|
|
return $this->api->v2010->account->addresses($sid);
|
|
}
|
|
|
|
/**
|
|
* @return \Twilio\Rest\Api\V2010\Account\ApplicationList
|
|
*/
|
|
protected function getApplications() {
|
|
return $this->api->v2010->account->applications;
|
|
}
|
|
|
|
/**
|
|
* @param string $sid The unique string that identifies the resource
|
|
* @return \Twilio\Rest\Api\V2010\Account\ApplicationContext
|
|
*/
|
|
protected function contextApplications($sid) {
|
|
return $this->api->v2010->account->applications($sid);
|
|
}
|
|
|
|
/**
|
|
* @return \Twilio\Rest\Api\V2010\Account\AuthorizedConnectAppList
|
|
*/
|
|
protected function getAuthorizedConnectApps() {
|
|
return $this->api->v2010->account->authorizedConnectApps;
|
|
}
|
|
|
|
/**
|
|
* @param string $connectAppSid The SID of the Connect App to fetch
|
|
* @return \Twilio\Rest\Api\V2010\Account\AuthorizedConnectAppContext
|
|
*/
|
|
protected function contextAuthorizedConnectApps($connectAppSid) {
|
|
return $this->api->v2010->account->authorizedConnectApps($connectAppSid);
|
|
}
|
|
|
|
/**
|
|
* @return \Twilio\Rest\Api\V2010\Account\AvailablePhoneNumberCountryList
|
|
*/
|
|
protected function getAvailablePhoneNumbers() {
|
|
return $this->api->v2010->account->availablePhoneNumbers;
|
|
}
|
|
|
|
/**
|
|
* @param string $countryCode The ISO country code of the country to fetch
|
|
* available phone number information about
|
|
* @return \Twilio\Rest\Api\V2010\Account\AvailablePhoneNumberCountryContext
|
|
*/
|
|
protected function contextAvailablePhoneNumbers($countryCode) {
|
|
return $this->api->v2010->account->availablePhoneNumbers($countryCode);
|
|
}
|
|
|
|
/**
|
|
* @return \Twilio\Rest\Api\V2010\Account\BalanceList
|
|
*/
|
|
protected function getBalance() {
|
|
return $this->api->v2010->account->balance;
|
|
}
|
|
|
|
/**
|
|
* @return \Twilio\Rest\Api\V2010\Account\CallList
|
|
*/
|
|
protected function getCalls() {
|
|
return $this->api->v2010->account->calls;
|
|
}
|
|
|
|
/**
|
|
* @param string $sid The unique string that identifies this resource
|
|
* @return \Twilio\Rest\Api\V2010\Account\CallContext
|
|
*/
|
|
protected function contextCalls($sid) {
|
|
return $this->api->v2010->account->calls($sid);
|
|
}
|
|
|
|
/**
|
|
* @return \Twilio\Rest\Api\V2010\Account\ConferenceList
|
|
*/
|
|
protected function getConferences() {
|
|
return $this->api->v2010->account->conferences;
|
|
}
|
|
|
|
/**
|
|
* @param string $sid The unique string that identifies this resource
|
|
* @return \Twilio\Rest\Api\V2010\Account\ConferenceContext
|
|
*/
|
|
protected function contextConferences($sid) {
|
|
return $this->api->v2010->account->conferences($sid);
|
|
}
|
|
|
|
/**
|
|
* @return \Twilio\Rest\Api\V2010\Account\ConnectAppList
|
|
*/
|
|
protected function getConnectApps() {
|
|
return $this->api->v2010->account->connectApps;
|
|
}
|
|
|
|
/**
|
|
* @param string $sid The unique string that identifies the resource
|
|
* @return \Twilio\Rest\Api\V2010\Account\ConnectAppContext
|
|
*/
|
|
protected function contextConnectApps($sid) {
|
|
return $this->api->v2010->account->connectApps($sid);
|
|
}
|
|
|
|
/**
|
|
* @return \Twilio\Rest\Api\V2010\Account\IncomingPhoneNumberList
|
|
*/
|
|
protected function getIncomingPhoneNumbers() {
|
|
return $this->api->v2010->account->incomingPhoneNumbers;
|
|
}
|
|
|
|
/**
|
|
* @param string $sid The unique string that identifies the resource
|
|
* @return \Twilio\Rest\Api\V2010\Account\IncomingPhoneNumberContext
|
|
*/
|
|
protected function contextIncomingPhoneNumbers($sid) {
|
|
return $this->api->v2010->account->incomingPhoneNumbers($sid);
|
|
}
|
|
|
|
/**
|
|
* @return \Twilio\Rest\Api\V2010\Account\KeyList
|
|
*/
|
|
protected function getKeys() {
|
|
return $this->api->v2010->account->keys;
|
|
}
|
|
|
|
/**
|
|
* @param string $sid The unique string that identifies the resource
|
|
* @return \Twilio\Rest\Api\V2010\Account\KeyContext
|
|
*/
|
|
protected function contextKeys($sid) {
|
|
return $this->api->v2010->account->keys($sid);
|
|
}
|
|
|
|
/**
|
|
* @return \Twilio\Rest\Api\V2010\Account\MessageList
|
|
*/
|
|
protected function getMessages() {
|
|
return $this->api->v2010->account->messages;
|
|
}
|
|
|
|
/**
|
|
* @param string $sid The unique string that identifies the resource
|
|
* @return \Twilio\Rest\Api\V2010\Account\MessageContext
|
|
*/
|
|
protected function contextMessages($sid) {
|
|
return $this->api->v2010->account->messages($sid);
|
|
}
|
|
|
|
/**
|
|
* @return \Twilio\Rest\Api\V2010\Account\NewKeyList
|
|
*/
|
|
protected function getNewKeys() {
|
|
return $this->api->v2010->account->newKeys;
|
|
}
|
|
|
|
/**
|
|
* @return \Twilio\Rest\Api\V2010\Account\NewSigningKeyList
|
|
*/
|
|
protected function getNewSigningKeys() {
|
|
return $this->api->v2010->account->newSigningKeys;
|
|
}
|
|
|
|
/**
|
|
* @return \Twilio\Rest\Api\V2010\Account\NotificationList
|
|
*/
|
|
protected function getNotifications() {
|
|
return $this->api->v2010->account->notifications;
|
|
}
|
|
|
|
/**
|
|
* @param string $sid The unique string that identifies the resource
|
|
* @return \Twilio\Rest\Api\V2010\Account\NotificationContext
|
|
*/
|
|
protected function contextNotifications($sid) {
|
|
return $this->api->v2010->account->notifications($sid);
|
|
}
|
|
|
|
/**
|
|
* @return \Twilio\Rest\Api\V2010\Account\OutgoingCallerIdList
|
|
*/
|
|
protected function getOutgoingCallerIds() {
|
|
return $this->api->v2010->account->outgoingCallerIds;
|
|
}
|
|
|
|
/**
|
|
* @param string $sid The unique string that identifies the resource
|
|
* @return \Twilio\Rest\Api\V2010\Account\OutgoingCallerIdContext
|
|
*/
|
|
protected function contextOutgoingCallerIds($sid) {
|
|
return $this->api->v2010->account->outgoingCallerIds($sid);
|
|
}
|
|
|
|
/**
|
|
* @return \Twilio\Rest\Api\V2010\Account\QueueList
|
|
*/
|
|
protected function getQueues() {
|
|
return $this->api->v2010->account->queues;
|
|
}
|
|
|
|
/**
|
|
* @param string $sid The unique string that identifies this resource
|
|
* @return \Twilio\Rest\Api\V2010\Account\QueueContext
|
|
*/
|
|
protected function contextQueues($sid) {
|
|
return $this->api->v2010->account->queues($sid);
|
|
}
|
|
|
|
/**
|
|
* @return \Twilio\Rest\Api\V2010\Account\RecordingList
|
|
*/
|
|
protected function getRecordings() {
|
|
return $this->api->v2010->account->recordings;
|
|
}
|
|
|
|
/**
|
|
* @param string $sid The unique string that identifies the resource
|
|
* @return \Twilio\Rest\Api\V2010\Account\RecordingContext
|
|
*/
|
|
protected function contextRecordings($sid) {
|
|
return $this->api->v2010->account->recordings($sid);
|
|
}
|
|
|
|
/**
|
|
* @return \Twilio\Rest\Api\V2010\Account\SigningKeyList
|
|
*/
|
|
protected function getSigningKeys() {
|
|
return $this->api->v2010->account->signingKeys;
|
|
}
|
|
|
|
/**
|
|
* @param string $sid The sid
|
|
* @return \Twilio\Rest\Api\V2010\Account\SigningKeyContext
|
|
*/
|
|
protected function contextSigningKeys($sid) {
|
|
return $this->api->v2010->account->signingKeys($sid);
|
|
}
|
|
|
|
/**
|
|
* @return \Twilio\Rest\Api\V2010\Account\SipList
|
|
*/
|
|
protected function getSip() {
|
|
return $this->api->v2010->account->sip;
|
|
}
|
|
|
|
/**
|
|
* @return \Twilio\Rest\Api\V2010\Account\ShortCodeList
|
|
*/
|
|
protected function getShortCodes() {
|
|
return $this->api->v2010->account->shortCodes;
|
|
}
|
|
|
|
/**
|
|
* @param string $sid The unique string that identifies this resource
|
|
* @return \Twilio\Rest\Api\V2010\Account\ShortCodeContext
|
|
*/
|
|
protected function contextShortCodes($sid) {
|
|
return $this->api->v2010->account->shortCodes($sid);
|
|
}
|
|
|
|
/**
|
|
* @return \Twilio\Rest\Api\V2010\Account\TokenList
|
|
*/
|
|
protected function getTokens() {
|
|
return $this->api->v2010->account->tokens;
|
|
}
|
|
|
|
/**
|
|
* @return \Twilio\Rest\Api\V2010\Account\TranscriptionList
|
|
*/
|
|
protected function getTranscriptions() {
|
|
return $this->api->v2010->account->transcriptions;
|
|
}
|
|
|
|
/**
|
|
* @param string $sid The unique string that identifies the resource
|
|
* @return \Twilio\Rest\Api\V2010\Account\TranscriptionContext
|
|
*/
|
|
protected function contextTranscriptions($sid) {
|
|
return $this->api->v2010->account->transcriptions($sid);
|
|
}
|
|
|
|
/**
|
|
* @return \Twilio\Rest\Api\V2010\Account\UsageList
|
|
*/
|
|
protected function getUsage() {
|
|
return $this->api->v2010->account->usage;
|
|
}
|
|
|
|
/**
|
|
* @return \Twilio\Rest\Api\V2010\Account\ValidationRequestList
|
|
*/
|
|
protected function getValidationRequests() {
|
|
return $this->api->v2010->account->validationRequests;
|
|
}
|
|
|
|
/**
|
|
* Access the Authy Twilio Domain
|
|
*
|
|
* @return \Twilio\Rest\Authy Authy Twilio Domain
|
|
*/
|
|
protected function getAuthy() {
|
|
if (!$this->_authy) {
|
|
$this->_authy = new Authy($this);
|
|
}
|
|
return $this->_authy;
|
|
}
|
|
|
|
/**
|
|
* Access the Autopilot Twilio Domain
|
|
*
|
|
* @return \Twilio\Rest\Autopilot Autopilot Twilio Domain
|
|
*/
|
|
protected function getAutopilot() {
|
|
if (!$this->_autopilot) {
|
|
$this->_autopilot = new Autopilot($this);
|
|
}
|
|
return $this->_autopilot;
|
|
}
|
|
|
|
/**
|
|
* Access the Chat Twilio Domain
|
|
*
|
|
* @return \Twilio\Rest\Chat Chat Twilio Domain
|
|
*/
|
|
protected function getChat() {
|
|
if (!$this->_chat) {
|
|
$this->_chat = new Chat($this);
|
|
}
|
|
return $this->_chat;
|
|
}
|
|
|
|
/**
|
|
* Access the Conversations Twilio Domain
|
|
*
|
|
* @return \Twilio\Rest\Conversations Conversations Twilio Domain
|
|
*/
|
|
protected function getConversations() {
|
|
if (!$this->_conversations) {
|
|
$this->_conversations = new Conversations($this);
|
|
}
|
|
return $this->_conversations;
|
|
}
|
|
|
|
/**
|
|
* Access the Fax Twilio Domain
|
|
*
|
|
* @return \Twilio\Rest\Fax Fax Twilio Domain
|
|
*/
|
|
protected function getFax() {
|
|
if (!$this->_fax) {
|
|
$this->_fax = new Fax($this);
|
|
}
|
|
return $this->_fax;
|
|
}
|
|
|
|
/**
|
|
* Access the FlexApi Twilio Domain
|
|
*
|
|
* @return \Twilio\Rest\FlexApi FlexApi Twilio Domain
|
|
*/
|
|
protected function getFlexApi() {
|
|
if (!$this->_flexApi) {
|
|
$this->_flexApi = new FlexApi($this);
|
|
}
|
|
return $this->_flexApi;
|
|
}
|
|
|
|
/**
|
|
* Access the Insights Twilio Domain
|
|
*
|
|
* @return \Twilio\Rest\Insights Insights Twilio Domain
|
|
*/
|
|
protected function getInsights() {
|
|
if (!$this->_insights) {
|
|
$this->_insights = new Insights($this);
|
|
}
|
|
return $this->_insights;
|
|
}
|
|
|
|
/**
|
|
* Access the IpMessaging Twilio Domain
|
|
*
|
|
* @return \Twilio\Rest\IpMessaging IpMessaging Twilio Domain
|
|
*/
|
|
protected function getIpMessaging() {
|
|
if (!$this->_ipMessaging) {
|
|
$this->_ipMessaging = new IpMessaging($this);
|
|
}
|
|
return $this->_ipMessaging;
|
|
}
|
|
|
|
/**
|
|
* Access the Lookups Twilio Domain
|
|
*
|
|
* @return \Twilio\Rest\Lookups Lookups Twilio Domain
|
|
*/
|
|
protected function getLookups() {
|
|
if (!$this->_lookups) {
|
|
$this->_lookups = new Lookups($this);
|
|
}
|
|
return $this->_lookups;
|
|
}
|
|
|
|
/**
|
|
* Access the Messaging Twilio Domain
|
|
*
|
|
* @return \Twilio\Rest\Messaging Messaging Twilio Domain
|
|
*/
|
|
protected function getMessaging() {
|
|
if (!$this->_messaging) {
|
|
$this->_messaging = new Messaging($this);
|
|
}
|
|
return $this->_messaging;
|
|
}
|
|
|
|
/**
|
|
* Access the Monitor Twilio Domain
|
|
*
|
|
* @return \Twilio\Rest\Monitor Monitor Twilio Domain
|
|
*/
|
|
protected function getMonitor() {
|
|
if (!$this->_monitor) {
|
|
$this->_monitor = new Monitor($this);
|
|
}
|
|
return $this->_monitor;
|
|
}
|
|
|
|
/**
|
|
* Access the Notify Twilio Domain
|
|
*
|
|
* @return \Twilio\Rest\Notify Notify Twilio Domain
|
|
*/
|
|
protected function getNotify() {
|
|
if (!$this->_notify) {
|
|
$this->_notify = new Notify($this);
|
|
}
|
|
return $this->_notify;
|
|
}
|
|
|
|
/**
|
|
* Access the Preview Twilio Domain
|
|
*
|
|
* @return \Twilio\Rest\Preview Preview Twilio Domain
|
|
*/
|
|
protected function getPreview() {
|
|
if (!$this->_preview) {
|
|
$this->_preview = new Preview($this);
|
|
}
|
|
return $this->_preview;
|
|
}
|
|
|
|
/**
|
|
* Access the Pricing Twilio Domain
|
|
*
|
|
* @return \Twilio\Rest\Pricing Pricing Twilio Domain
|
|
*/
|
|
protected function getPricing() {
|
|
if (!$this->_pricing) {
|
|
$this->_pricing = new Pricing($this);
|
|
}
|
|
return $this->_pricing;
|
|
}
|
|
|
|
/**
|
|
* Access the Proxy Twilio Domain
|
|
*
|
|
* @return \Twilio\Rest\Proxy Proxy Twilio Domain
|
|
*/
|
|
protected function getProxy() {
|
|
if (!$this->_proxy) {
|
|
$this->_proxy = new Proxy($this);
|
|
}
|
|
return $this->_proxy;
|
|
}
|
|
|
|
/**
|
|
* Access the Serverless Twilio Domain
|
|
*
|
|
* @return \Twilio\Rest\Serverless Serverless Twilio Domain
|
|
*/
|
|
protected function getServerless() {
|
|
if (!$this->_serverless) {
|
|
$this->_serverless = new Serverless($this);
|
|
}
|
|
return $this->_serverless;
|
|
}
|
|
|
|
/**
|
|
* Access the Studio Twilio Domain
|
|
*
|
|
* @return \Twilio\Rest\Studio Studio Twilio Domain
|
|
*/
|
|
protected function getStudio() {
|
|
if (!$this->_studio) {
|
|
$this->_studio = new Studio($this);
|
|
}
|
|
return $this->_studio;
|
|
}
|
|
|
|
/**
|
|
* Access the Sync Twilio Domain
|
|
*
|
|
* @return \Twilio\Rest\Sync Sync Twilio Domain
|
|
*/
|
|
protected function getSync() {
|
|
if (!$this->_sync) {
|
|
$this->_sync = new Sync($this);
|
|
}
|
|
return $this->_sync;
|
|
}
|
|
|
|
/**
|
|
* Access the Taskrouter Twilio Domain
|
|
*
|
|
* @return \Twilio\Rest\Taskrouter Taskrouter Twilio Domain
|
|
*/
|
|
protected function getTaskrouter() {
|
|
if (!$this->_taskrouter) {
|
|
$this->_taskrouter = new Taskrouter($this);
|
|
}
|
|
return $this->_taskrouter;
|
|
}
|
|
|
|
/**
|
|
* Access the Trunking Twilio Domain
|
|
*
|
|
* @return \Twilio\Rest\Trunking Trunking Twilio Domain
|
|
*/
|
|
protected function getTrunking() {
|
|
if (!$this->_trunking) {
|
|
$this->_trunking = new Trunking($this);
|
|
}
|
|
return $this->_trunking;
|
|
}
|
|
|
|
/**
|
|
* Access the Verify Twilio Domain
|
|
*
|
|
* @return \Twilio\Rest\Verify Verify Twilio Domain
|
|
*/
|
|
protected function getVerify() {
|
|
if (!$this->_verify) {
|
|
$this->_verify = new Verify($this);
|
|
}
|
|
return $this->_verify;
|
|
}
|
|
|
|
/**
|
|
* Access the Video Twilio Domain
|
|
*
|
|
* @return \Twilio\Rest\Video Video Twilio Domain
|
|
*/
|
|
protected function getVideo() {
|
|
if (!$this->_video) {
|
|
$this->_video = new Video($this);
|
|
}
|
|
return $this->_video;
|
|
}
|
|
|
|
/**
|
|
* Access the Voice Twilio Domain
|
|
*
|
|
* @return \Twilio\Rest\Voice Voice Twilio Domain
|
|
*/
|
|
protected function getVoice() {
|
|
if (!$this->_voice) {
|
|
$this->_voice = new Voice($this);
|
|
}
|
|
return $this->_voice;
|
|
}
|
|
|
|
/**
|
|
* Access the Wireless Twilio Domain
|
|
*
|
|
* @return \Twilio\Rest\Wireless Wireless Twilio Domain
|
|
*/
|
|
protected function getWireless() {
|
|
if (!$this->_wireless) {
|
|
$this->_wireless = new Wireless($this);
|
|
}
|
|
return $this->_wireless;
|
|
}
|
|
|
|
/**
|
|
* Magic getter to lazy load domains
|
|
*
|
|
* @param string $name Domain to return
|
|
* @return \Twilio\Domain The requested domain
|
|
* @throws TwilioException For unknown domains
|
|
*/
|
|
public function __get($name) {
|
|
$method = 'get' . ucfirst($name);
|
|
if (method_exists($this, $method)) {
|
|
return $this->$method();
|
|
}
|
|
|
|
throw new TwilioException('Unknown domain ' . $name);
|
|
}
|
|
|
|
/**
|
|
* Magic call to lazy load contexts
|
|
*
|
|
* @param string $name Context to return
|
|
* @param mixed[] $arguments Context to return
|
|
* @return \Twilio\InstanceContext The requested context
|
|
* @throws TwilioException For unknown contexts
|
|
*/
|
|
public function __call($name, $arguments) {
|
|
$method = 'context' . ucfirst($name);
|
|
if (method_exists($this, $method)) {
|
|
return call_user_func_array(array($this, $method), $arguments);
|
|
}
|
|
|
|
throw new TwilioException('Unknown context ' . $name);
|
|
}
|
|
|
|
/**
|
|
* Provide a friendly representation
|
|
*
|
|
* @return string Machine friendly representation
|
|
*/
|
|
public function __toString() {
|
|
return '[Client ' . $this->getAccountSid() . ']';
|
|
}
|
|
|
|
/**
|
|
* Validates connection to new SSL certificate endpoint
|
|
*
|
|
* @param CurlClient $client
|
|
* @throws TwilioException if request fails
|
|
*/
|
|
public function validateSslCertificate($client) {
|
|
$response = $client->request('GET', 'https://api.twilio.com:8443');
|
|
|
|
if ($response->getStatusCode() < 200 || $response->getStatusCode() > 300) {
|
|
throw new TwilioException("Failed to validate SSL certificate");
|
|
}
|
|
}
|
|
} |