| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841 |
- <?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\Chat chat
- * @property \Twilio\Rest\Fax fax
- * @property \Twilio\Rest\IpMessaging ipMessaging
- * @property \Twilio\Rest\Lookups lookups
- * @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\Taskrouter taskrouter
- * @property \Twilio\Rest\Trunking trunking
- * @property \Twilio\Rest\Video video
- * @property \Twilio\Rest\Messaging messaging
- * @property \Twilio\Rest\Wireless wireless
- * @property \Twilio\Rest\Sync sync
- * @property \Twilio\Rest\Studio studio
- * @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\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 $_chat = null;
- protected $_fax = null;
- protected $_ipMessaging = null;
- protected $_lookups = null;
- protected $_monitor = null;
- protected $_notify = null;
- protected $_preview = null;
- protected $_pricing = null;
- protected $_proxy = null;
- protected $_taskrouter = null;
- protected $_trunking = null;
- protected $_video = null;
- protected $_messaging = null;
- protected $_wireless = null;
- protected $_sync = null;
- protected $_studio = 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 sid
- * @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 Fetch by unique Application Sid
- * @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 connect_app_sid
- * @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 country_code
- * @return \Twilio\Rest\Api\V2010\Account\AvailablePhoneNumberCountryContext
- */
- protected function contextAvailablePhoneNumbers($countryCode) {
- return $this->api->v2010->account->availablePhoneNumbers($countryCode);
- }
- /**
- * @return \Twilio\Rest\Api\V2010\Account\CallList
- */
- protected function getCalls() {
- return $this->api->v2010->account->calls;
- }
- /**
- * @param string $sid Call Sid that uniquely identifies the Call to fetch
- * @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 Fetch by unique conference Sid
- * @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 Fetch by unique connect-app Sid
- * @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 Fetch by unique incoming-phone-number Sid
- * @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 sid
- * @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 Fetch by unique message Sid
- * @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 Fetch by unique notification Sid
- * @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 Fetch by unique outgoing-caller-id Sid
- * @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 Fetch by unique queue Sid
- * @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 Fetch by unique recording Sid
- * @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 Fetch by unique short-code Sid
- * @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 Fetch by unique transcription SID
- * @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 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 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 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 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 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 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 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 Wireless Twilio Domain
- *
- * @return \Twilio\Rest\Wireless Wireless Twilio Domain
- */
- protected function getWireless() {
- if (!$this->_wireless) {
- $this->_wireless = new Wireless($this);
- }
- return $this->_wireless;
- }
- /**
- * 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 Studio Twilio Domain
- *
- * @return \Twilio\Rest\Studio Studio Twilio Domain
- */
- protected function getStudio() {
- if (!$this->_studio) {
- $this->_studio = new Studio($this);
- }
- return $this->_studio;
- }
- /**
- * 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");
- }
- }
- }
|