bulutfon / php-sdk
Bulutfon Api için Bulutfon SDK
1.7.0
2017-01-17 11:57 UTC
Requires
- php: >=5.4
- league/oauth2-client: ~0.5
README
要访问 Bulutfon API,请使用 Php oauth2-client 提供者。
使用方法
使用 Master Token
将 Sdk 添加到您的 composer.json 文件中。
require: "bulutfon/php-sdk"
添加命令后,
composer install
运行命令将项目包含后,您可以开始使用。
$provider = new \Bulutfon\OAuth2\Client\Provider\Bulutfon([ 'verifySSL' => false // (Varsayılan olarak true'dur eğer ssl doğrulaması istenmiyorsa eklenmelidir. ]);
定义 provider 后,需要使用 master token 创建一个 token 对象。可以
$token = new \League\OAuth2\Client\Token\AccessToken(['access_token' => "xxxxxx"]);
创建,然后使用创建的 provider 和 token 对象来访问 api。
使用 OAUTH2
将 Sdk 添加到您的 composer.json 文件中。
require: "bulutfon/php-sdk"
添加命令后,
composer install
运行命令将项目包含后,您可以开始使用。
$provider = new \Bulutfon\OAuth2\Client\Provider\Bulutfon([ 'clientId' => '{client-id}', 'clientSecret' => '{client-secret}', 'redirectUri' => 'https://example.com/callback-url', //'verifySSL => false (Varsayılan olarak true'dur eğer ssl doğrulaması istenmiyorsa eklenmelidir. ]);
定义 provider 后,要请求用户授权,可以使用
$authUrl = $provider->getAuthorizationUrl(); header('Location: '.$authUrl);
将用户重定向到应用授权页面。用户授权应用后,在您定义的回调页面中
$token = $provider->getAccessToken('authorization_code', [ 'code' => $_GET['code'] ]);
可以获取 access_token,或者
$token = $provider->getAccessToken('refresh_token', [ 'refresh_token' => $refreshToken ]);
更新过期的 token。如果在请求过程中 token 过期,则会被重定向到您定义的 callback_url,带有 refresh_token=true 和 back=请求的 url 参数。您可以捕获这些参数并更新 token。
功能
访问用户信息
使用 SDK 可以访问用户信息、面板信息和剩余的余额。为此,您可以使用
$provider->getUser($token);
方法。
访问电话号码和电话号码详情
为此,您可以
$provider->getDids($token); // Santral listesine erişir $provider->getDid($token, $id) // Id'si verilen santral detayını döndürür
使用方法。
访问内部人员和内部详情,创建、更新和删除内部人员
为此,您可以
$provider->getExtensions($token); // Dahili listesine erişir $provider->getExtension($token, $id) // Id'si verilen dahili detayını döndürür $params = array( 'full_name' => $_POST['full_name'], #required 'email' => $_POST['email'], #required 'did' => $_POST['did'], #required 'number' => $_POST['number'], #required 'voicemail' => $_POST['voicemail'], #optional 'acl' => $_POST['acl'], #required 'redirection_type' => $_POST['redirection_type'], #required 'destination_type' => $_POST['destination_type'], #required unless redirection_type is not NONE or EXTERNAL 'destination_number' => $_POST['destination_number'], #required unless redirection_type is not NONE or EXTERNAL 'external_number' => $_POST['external_number'] #required if redirection_type is EXTERNAL ); $provider->createExtension($token, $params) // Verilen parametrelere göre yeni dahili oluşturur. $provider->updateExtension($token, $id, $params) // Verilen parametrelere göre dahiliyi günceller $provider->deleteExtension($token, $id) // Dahiliyi siler
使用方法。
访问组和组详情
为此,您可以
$provider->getGroups($token); // Grup listesine erişir $provider->getGroup($token, $id) // Id'si verilen grup detayını döndürür
使用方法。
访问通话记录和通话详情,以及下载音频记录
为此,您可以
$provider->getCdrs($token, $params, $page); // Cdr listesine erişir $provider->getCdr($token, $uid) // Uid'si verilen cdr detayını döndürür # Arama kaydını indirmek için $filename = $id.'.wav'; $save_path = getcwd().'/'.$filename; $call_record = $provider->getCallRecord($token, $id, $save_path); # $save_path değişkeni ile verilen pathe ses kaydını kaydeder. (Dosya yazma izinlerinin doğru ayarlandığına emin olunuz.) $provider->getCallRecordStreamUrl($token, $id); // Ses Kaydını stream etmek için gerekli url i döndürür
使用方法。
在这里,$params 变量是一个数组,如果您想进行筛选,可以将筛选器添加到此处。有关筛选器的详细信息,请参阅文档。
$page 变量指定要访问的页面。
访问收到的传真并下载传真文件
为此,您可以
$provider->getIncomingFaxes($token); // Gelen faksları listeler # Faks dökümanını indirmek için $filename = $id.'.tiff'; $save_path = getcwd().'/'.$filename; $incomingFax = $provider->getIncomingFax($token, $id, $save_path); # $save_path değişkeni ile verilen pathe faks dökğmanını tiff dosyası olarak. (Dosya yazma izinlerinin doğru ayarlandığına emin olunuz.)
使用方法。
访问发出的传真并发送传真
为此,您可以
$provider->getOutgoingFaxes($token); // Giden faksları listeler $provider->getOutgoingFax($token, $id); // Giden faks detayını gösterir # Faks Göndermek için $file_path = getcwd().'/../incoming_faxes/abc.pdf'; $arr = array('title' => 'API TEST', 'receivers' => '90850885xxxx,90850885yyyy', 'did' => "90850885xxxx", 'attachment' => $file_path); $resp = $provider->sendFax($token, $arr); # $file_path değişkeni ile dosya yolu verilen belgeyi, receivers parametresindeki alıcılara faks olarak gönderir. (Dosya okuma izinlerinin doğru ayarlandığına emin olunuz.)
使用方法。
列出、下载、创建和删除音频文件
为此,您可以
$provider->getAnnouncements($token); // Ses Dosyalarını listeler $provider->getAnnouncement($token, $id, $path); // Ses Dosyasını verilen pathe kaydeder $provider->getAnnouncementStreamUrl($token, $id); // Ses Dosyasını stream etmek için gerekli url i döndürür /* Ses Dosyası oluşturma */ $file_path = getcwd().'/test.wav'; $arr = array('name' => 'API TEST', 'announcement' => $file_path); $provider->createAnnouncement($token, $arr); /* Ses Dosyası silme */ $provider->deleteAnnouncement($token, $id);
使用方法。
列出和创建自动呼叫
为此,您可以
$provider->getAutomaticCalls($token); // Daha önce yapılmış otomatik aramaları listeler $provider->getAutomaticCall($token, $id); // Otomatik arama detaylarını görüntüler # Yeni otomatik arama oluşturmak için $arr = array('title' => 'API ARAMA TEST', 'receivers' => '90850885xxxx,90850885yyyy', 'did' => "90850885xxxx", 'gather' => true, 'announcement_id' => 'yyy', // Tarih ve saatler opsiyonel varsayılan olarak aktif => true start => 09:00 finish => 18:00 olacaktır 'mon_active' => true, 'mon_start' => '12:15', 'mon_finish' => '12:15', 'tue_active' => true, 'tue_start' => '12:15', 'tue_finish' => '12:15', 'wed_active' => true, 'wed_start' => '12:15', 'wed_finish' => '12:15', 'fri_active' => true, 'fri_start' => '12:15', 'fri_finish' => '12:15', 'thu_active' => true, 'thu_start' => '12:15', 'thu_finish' => '12:15', 'sat_active' => true, 'sat_start' => '12:15', 'sat_finish' => '12:15', 'sun_active' => true, 'sun_start' => '12:15', 'sun_finish' => '12:15' ); # Çalınacak ses dosyasını dışarıdan tanımlamak için $arr = array('title' => 'API ARAMA TEST', 'receivers' => '90850885xxxx,90850885yyyy', 'did' => "90850885xxxx", 'gather' => true, 'sound_url' => 'yyy', // Tarih ve saatler opsiyonel varsayılan olarak aktif => true start => 09:00 finish => 18:00 olacaktır 'mon_active' => true, 'mon_start' => '12:15', 'mon_finish' => '12:15', 'tue_active' => true, 'tue_start' => '12:15', 'tue_finish' => '12:15', 'wed_active' => true, 'wed_start' => '12:15', 'wed_finish' => '12:15', 'fri_active' => true, 'fri_start' => '12:15', 'fri_finish' => '12:15', 'thu_active' => true, 'thu_start' => '12:15', 'thu_finish' => '12:15', 'sat_active' => true, 'sat_start' => '12:15', 'sat_finish' => '12:15', 'sun_active' => true, 'sun_start' => '12:15', 'sun_finish' => '12:15' ); $provider->createAutomaticCall($token, $arr);
使用方法。
列出短信标题
为此,您可以
$provider->getMessageTitles($token); // Panelden oluşturduğunuz sms başlıklarını listeler
使用方法。
列出和发送消息
为此,您可以
$provider->getMessages($token); // Gönderilen mesajları listeler $parameters = array("limit" => n, "page" => m); // m. sayfadaki n mesajı görüntüler. $provider->getMessages($token, $parameters); // Verilen parametrelere göre Gönderilen mesajları listeler $provider->getMessage($token, $id); // Gönderilen mesaj detaylarını görüntüler # Yeni mesaj göndermek için $arr = array( 'title' => 'TEST', 'content' => 'Test Message', 'receivers' => "905xxxxxxxxx,905xxxxxxxxx", 'is_single_sms' => true, # OPSIYONEL, VARSAYILAN false 'is_future_sms' => true, # OPSIYONEL, VARSAYILAN false 'send_date' => '21/06/2015 20:22' # OPTIONAL (Eğer is_future_sms true olarak setlendiyse zorunlu) ); $resp = $provider->sendMessage($token, $arr);
使用方法。
获取 Token 信息,您可以使用
为此,您可以
$provider->getTokenInfo($token);
方法
要查看示例用法和可访问的变量,请查看我们的示例应用。