PHP code example of bulutfon / php-sdk

1. Go to this page and download the library: Download bulutfon/php-sdk library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

bulutfon / php-sdk example snippets


	$provider = new \Bulutfon\OAuth2\Client\Provider\Bulutfon([
    	'verifySSL'        => false  // (Varsayılan olarak true'dur eğer ssl doğrulaması istenmiyorsa eklenmelidir.
	]); 

    $token = new \League\OAuth2\Client\Token\AccessToken(['access_token' => "xxxxxx"]);

	$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.
	]); 

 $authUrl = $provider->getAuthorizationUrl();
 header('Location: '.$authUrl);

	$token = $provider->getAccessToken('authorization_code', [
        'code' => $_GET['code']
    ]);

	$token = $provider->getAccessToken('refresh_token', [
        'refresh_token' => $refreshToken
    ]);

	$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'], #OST['acl'], #'destination_number'], #arams) // 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

	$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);

	$provider->getTokenInfo($token);