bulutfon/php-sdk

Bulutfon Api için Bulutfon SDK

1.7.0 2017-01-17 11:57 UTC

This package is not auto-updated.

Last update: 2024-09-28 17:12:38 UTC


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=trueback=请求的 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);

方法

要查看示例用法和可访问的变量,请查看我们的示例应用

博客文章 & 视频教程

视频