2017 © Pedro Peláez
 

library php-sdk

Bulutfon sdk for Bulutfon-Api

image

bulutfon/php-sdk

Bulutfon sdk for Bulutfon-Api

  • Tuesday, January 17, 2017
  • by bulutfon
  • Repository
  • 6 Watchers
  • 8 Stars
  • 162 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 8 Forks
  • 3 Open issues
  • 10 Versions
  • 3 % Grown

The README.md

Bulutfon Php SDK

Bulutfon API'ye erişmek için Php oauth2-client provider'ı., (*1)

Kullanım

Master Token ile

Sdk'yı composer.json dosyanızın içerisine., (*2)

require: "bulutfon/php-sdk"

komutunu ekledikten sonra,, (*3)

composer install

komutunu koşarak projenize dahil ettikten sonra kullanmaya başlayabilirsiniz., (*4)

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

Şeklinde provider'ınızı tanımladıktan sonra, master token ile bir token objesi oluşturmak gerekmektedir. Bunu da, (*5)

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

şeklinde oluşturabilir, ardından oluşturulan provider ve token nesneleri ile api erişimi sağlayabilirsiniz., (*6)

OAUTH2 ile

Sdk'yı composer.json dosyanızın içerisine., (*7)

require: "bulutfon/php-sdk"

komutunu ekledikten sonra,, (*8)

composer install

komutunu koşarak projenize dahil ettikten sonra kullanmaya başlayabilirsiniz., (*9)

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

Şeklinde provider'ınızı tanımladıktan sonra, kullanıcıdan izin istemek için, (*10)

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

ile kullanıcıyı uygulama izin sayfasına yönlendirebilirsiniz. Kullanıcı uygulama izni verdikten sonra, callback olarak tanımladığınız sayfada, (*11)

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

şeklinde access_tokenınızı alabilir veya, (*12)

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

şeklinde expire olmuş token'ınızı yenileyebilirsiniz. İstek sırasında token expire olduysa tekrar tanımladığınız callback_url'e refresh_token=true ve back=istek yapılan url parametreleri ile yönlenecektir. bu parametreleri yakalayıp tokenınızı yenileyebilirsiniz., (*13)

İşlevler

Kullanıcı bilgilerine erişme

SDK ile Kullanıcı bilgileriniz, panel bilgileriniz ve kalan kredinize erişebilirsiniz. Bunun için, (*14)

    $provider->getUser($token);

methodunu kullanabilirsiniz., (*15)

Telefon numaraları ve telefon numara detaylarına erişme

Bunun için;, (*16)

    $provider->getDids($token); // Santral listesine erişir
    $provider->getDid($token, $id) // Id'si verilen santral detayını döndürür

methodlarını kullanabilirsiniz., (*17)

Dahililere ve dahili detaylarına erişme, dahili oluşturma, güncelleme ve silme

Bunun için;, (*18)

    $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

methodlarını kullanabilirsiniz., (*19)

Gruplara ve grup detaylarına erişme

Bunun için;, (*20)

    $provider->getGroups($token); // Grup listesine erişir
    $provider->getGroup($token, $id) // Id'si verilen grup detayını döndürür

methodlarını kullanabilirsiniz., (*21)

Arama kayıtlarına ve arama detaylarına erişme ve ses kayıtlarını indirme

Bunun için;, (*22)

    $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

methodlarını kullanabilirsiniz., (*23)

burada $params değişkeni array olup, filtreleme yapmak isterseniz kullanacağınız filtreleri buraya ekleyebilirsiniz. Filtrelerin detayını dokümantasyondan öğrenebilirsiniz., (*24)

$page değişkeni ise erişmek istediğiniz sayfayı belirtir., (*25)

Gelen fakslara erişme ve faks dosyasını indirme

Bunun için;, (*26)

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

methodlarını kullanabilirsiniz., (*27)

Giden fakslara erişme ve faks gönderme

Bunun için;, (*28)

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

methodlarını kullanabilirsiniz., (*29)

Ses Dosyalarını listeleme ve indirme, oluşturma ve silme

Bunun için;, (*30)

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

methodlarını kullanabilirsiniz., (*31)

Otomatik Aramaları listeleme ve oluşturma

Bunun için;, (*32)

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

methodlarını kullanabilirsiniz., (*33)

Sms Başlıklarını Listeleme

Bunun için;, (*34)

    $provider->getMessageTitles($token); // Panelden oluşturduğunuz sms başlıklarını listeler

methodlarını kullanabilirsiniz., (*35)

Mesajları Listeleme ve Mesaj Gönderme

Bunun için;, (*36)

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

methodlarını kullanabilirsiniz., (*37)

Token Bilgisi Alma

Bunun için;, (*38)

    $provider->getTokenInfo($token);

methodunu kullanabilirsiniz, (*39)

Örnek kullanımları görmek için ve erişebileceğiniz değişkenler için örnek uygulamamızı inceleyebilirsiniz., (*40)

Blog Yazıları & Videolu Anlatımlar

Videolar

The Versions

17/01 2017

dev-master

9999999-dev

Bulutfon sdk for Bulutfon-Api

  Sources   Download

MIT

The Requires

 

by H. Türkü Kaya

oauth package bulutfon

17/01 2017

1.7.0

1.7.0.0

Bulutfon sdk for Bulutfon-Api

  Sources   Download

MIT

The Requires

 

by H. Türkü Kaya

oauth package bulutfon

15/08 2016

1.6.0

1.6.0.0

Bulutfon sdk for Bulutfon-Api

  Sources   Download

MIT

The Requires

 

by H. Türkü Kaya

oauth package bulutfon

30/12 2015

1.5.0

1.5.0.0

Bulutfon sdk for Bulutfon-Api

  Sources   Download

MIT

The Requires

 

by H. Türkü Kaya

oauth package bulutfon

03/12 2015

1.4.0

1.4.0.0

Bulutfon sdk for Bulutfon-Api

  Sources   Download

MIT

The Requires

 

by H. Türkü Kaya

oauth package bulutfon

23/11 2015

1.3.0

1.3.0.0

Bulutfon sdk for Bulutfon-Api

  Sources   Download

MIT

The Requires

 

by H. Türkü Kaya

oauth package bulutfon

26/10 2015

1.2.0

1.2.0.0

Bulutfon sdk for Bulutfon-Api

  Sources   Download

MIT

The Requires

 

by H. Türkü Kaya

oauth package bulutfon

26/10 2015

1.1.1

1.1.1.0

Bulutfon sdk for Bulutfon-Api

  Sources   Download

MIT

The Requires

 

by H. Türkü Kaya

oauth package bulutfon

09/10 2015

1.1.0

1.1.0.0

Bulutfon sdk for Bulutfon-Api

  Sources   Download

MIT

The Requires

 

by H. Türkü Kaya

oauth package bulutfon

31/08 2015

1.0.0

1.0.0.0

Bulutfon sdk for Bulutfon-Api

  Sources   Download

MIT

The Requires

 

by H. Türkü Kaya

oauth package bulutfon