
Daha önceki yazımda, PHP ile Ücretsiz SMS Gönderme konusunu işlemiştik. SMS gönderme işlemi için, kullanılabilir 100 bakiye veren iletimerkezi.com sitesini kullanmıştık. SMS gönderme ve farklı amaçlarla kullanma işlemini yine ileti merkezi üzerinden gerçekleştireceğiz. Hala bir hesabınız yoksa BURAYI TIKLATARAK kayıt olabilirsiniz. Kayıt olduğunuzda tarafınıza kullanabilmeniz için 100 SMS tanımlanacaktır.
Bu dersimizde PHP ile SMS Bakiyesinin nasıl öğreneceğimizi inceleyeceğiz. SMS hizmeti sağlayan kurumlar, XML yapısı üzerinden bir takım raporlar vermektedir. Bu dersimizde de XML yapısına gerekli bilgileri yazarak nasıl sonuç alındığından bahsedeceğim.
İletimerkezi.com sitesinden aldığınız hizmet için bakiye sorgulama için gönderim yapacağınız adres ve XML yapısı aşağıda yer almaktadır.
İstek Yapılacak Adres https://api.iletimerkezi.com/v1/get-balance Gönderim XML Yapısı <request> <authentication> <username></username> <password></password> </authentication> </request>
Yukarıda yer alan istek yapılacak olan adrese, hemen alında yer alan XML yapısı gönderilecek SMS bakiyesini sorgulayabilirsiniz. İşlevsel olarak kullanılabilmesi için bunu fonksiyon üzerinden gerçekleştirelim. Öncelikle XML verilerini belirlenen adrese göndermek için bir fonksiyon oluşturalım.
## XML Gönderimi için kullanacağımız fonksiyon function xmlGonder($PostAddress,$xmlData){ $ch = curl_init(); curl_setopt($ch, CURLOPT_URL,$PostAddress); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,2); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,0); curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); curl_setopt($ch, CURLOPT_HTTPHEADER, Array("Content-Type: text/xml")); curl_setopt($ch, CURLOPT_TIMEOUT, 30); curl_setopt($ch, CURLOPT_POSTFIELDS, $xmlData); $result = curl_exec($ch); return $result; }
Yukarıdaki fonksiyonla birlikte xmlGonder() kullanımıyla XML verisi belirlenen URL’e gönderilecektir. İlk paramteresine URL adresi, ikinci parametresine ise XML yapısı gönderilmelidir. Şimdi de gönderim XML yapısını ve sonucu alacağımız fonksiyonu oluşturalım.
## SMS bakiyesi için gereki XML yapısı function sms_bakiye($kullanici, $sifre){ $xml='<request> <authentication> <username>'.$kullanici.'</username> <password>'.$sifre.'</password> </authentication> </request>'; $bilgi = xmlGonder('https://api.iletimerkezi.com/v1/get-balance',$xml); $xmlOku = simplexml_load_string($bilgi); return $xmlOku->balance->sms; } ## SMS bilgisini alma echo sms_bakiye('KULLANICI ADINIZ YAZINIZ','ŞİFRENİZİ YAZINIZ');
Yukarıdaki kod bloğunda da sms_bakiye() isimli bir fonksiyon yer almaktadır. Bu fonksiyonda gönderim yapılacak XML yapısı yer almaktadır. XML yapısının hemen altında da xmlGonder() fonksiyonu kullanılarak URL ve XML değişkeni yer almaktadır. XML değerinin gönderimiyle gelen değer de simplexml_load_string() ile alınarak sadece bakiye değeri döndürülmektedir.
SMS bakiye sonucunun alınması için smsbakiye(); fonksiyonu kullanılarak ilk parametreye kullanıcı adı, ikinci parametreye ise şifre değeri yazılmalıdır.
NOT: Bu derste hazırlamış olduğumuz iki fonksiyonda bir biriyle ilişkini olduğu için aynı sayfada yer almalı yada include ile dahil edilmelidir.