Viewing file: Telnyx.php (7.17 KB) -rwxr-xr-x Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
namespace Telnyx;
/** * Class Telnyx * * @package Telnyx */ class Telnyx { // @var string The Telnyx API key to be used for requests. public static $apiKey;
// @var string The Telnyx Public key to be used for webhooks. public static $publicKey;
// @var string The Telnyx client_id to be used for Connect requests. public static $clientId;
// @var string The base URL for the Telnyx API. public static $apiBase = 'https://api.telnyx.com';
// @var string|null The version of the Telnyx API to use for requests. public static $apiVersion = null;
// @var string|null The account ID for connected accounts requests. public static $accountId = null;
// @var string Path to the CA bundle used to verify SSL certificates public static $caBundlePath = null;
// @var boolean Defaults to true. public static $verifySslCerts = true;
// @var array The application's information (name, version, URL) public static $appInfo = null;
// @var Util\LoggerInterface|null The logger to which the library will // produce messages. public static $logger = null;
// @var int Maximum number of request retries public static $maxNetworkRetries = 0;
// @var boolean Whether client telemetry is enabled. Defaults to false. public static $enableTelemetry = false;
// @var float Maximum delay between retries, in seconds private static $maxNetworkRetryDelay = 2.0;
/** @var float Maximum delay between retries, in seconds, that will be respected from the Telnyx API */ private static $maxRetryAfter = 60.0;
// @var float Initial delay between retries, in seconds private static $initialNetworkRetryDelay = 0.5;
const VERSION = '2.9.0';
/** * @return string The API key used for requests. */ public static function getApiKey() { return self::$apiKey; }
/** * @return string The client_id used for Connect requests. */ public static function getClientId() { return self::$clientId; }
/** * @return Util\LoggerInterface The logger to which the library will * produce messages. */ public static function getLogger() { if (self::$logger == null) { return new Util\DefaultLogger(); } return self::$logger; }
/** * @param Util\LoggerInterface $logger The logger to which the library * will produce messages. */ public static function setLogger($logger) { self::$logger = $logger; }
/** * Sets the API key to be used for requests. * * @param string $apiKey */ public static function setApiKey($apiKey) { self::$apiKey = $apiKey; }
/** * Sets the Public key to be used for webhooks. * * @param string $apiKey */ public static function setPublicKey($publicKey) { self::$publicKey = $publicKey; }
/** * @return string The Public key used for webhooks. */ public static function getPublicKey() { return self::$publicKey; }
/** * Sets the client_id to be used for Connect requests. * * @param string $clientId */ public static function setClientId($clientId) { self::$clientId = $clientId; }
/** * @return string The API version used for requests. null if we're using the * latest version. */ public static function getApiVersion() { return self::$apiVersion; }
/** * @param string $apiVersion The API version to use for requests. */ public static function setApiVersion($apiVersion) { self::$apiVersion = $apiVersion; }
/** * @return string */ private static function getDefaultCABundlePath() { return realpath(dirname(__FILE__) . '/../data/ca-certificates.crt'); }
/** * @return string */ public static function getCABundlePath() { return self::$caBundlePath ?: self::getDefaultCABundlePath(); }
/** * @param string $caBundlePath */ public static function setCABundlePath($caBundlePath) { self::$caBundlePath = $caBundlePath; }
/** * @return boolean */ public static function getVerifySslCerts() { return self::$verifySslCerts; }
/** * @param boolean $verify */ public static function setVerifySslCerts($verify) { self::$verifySslCerts = $verify; }
/** * @return string | null The Telnyx account ID for connected account * requests. */ public static function getAccountId() { return self::$accountId; }
/** * @param string $accountId The Telnyx account ID to set for connected * account requests. */ public static function setAccountId($accountId) { self::$accountId = $accountId; }
/** * @return array | null The application's information */ public static function getAppInfo() { return self::$appInfo; }
/** * @param string $appName The application's name * @param string $appVersion The application's version * @param string $appUrl The application's URL */ public static function setAppInfo($appName, $appVersion = null, $appUrl = null, $appPartnerId = null) { self::$appInfo = self::$appInfo ?: []; self::$appInfo['name'] = $appName; self::$appInfo['partner_id'] = $appPartnerId; self::$appInfo['url'] = $appUrl; self::$appInfo['version'] = $appVersion; }
/** * @return int Maximum number of request retries */ public static function getMaxNetworkRetries() { return self::$maxNetworkRetries; }
/** * @param int $maxNetworkRetries Maximum number of request retries */ public static function setMaxNetworkRetries($maxNetworkRetries) { self::$maxNetworkRetries = $maxNetworkRetries; }
/** * @return float Maximum delay between retries, in seconds */ public static function getMaxNetworkRetryDelay() { return self::$maxNetworkRetryDelay; }
/** * @return float Maximum delay between retries, in seconds, that will be respected from the Stripe API */ public static function getMaxRetryAfter() { return self::$maxRetryAfter; }
/** * @return float Initial delay between retries, in seconds */ public static function getInitialNetworkRetryDelay() { return self::$initialNetworkRetryDelay; }
/** * @return bool Whether client telemetry is enabled */ public static function getEnableTelemetry() { return self::$enableTelemetry; }
/** * @param bool $enableTelemetry Enables client telemetry. * * Client telemetry enables timing and request metrics to be sent back to Telnyx as an HTTP Header * with the current request. This enables Telnyx to do latency and metrics analysis without adding extra * overhead (such as extra network calls) on the client. */ public static function setEnableTelemetry($enableTelemetry) { self::$enableTelemetry = $enableTelemetry; } }
|