• 17-07-2013, 16:57:57
    #1
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Merhaba arkadaşlar netgsm ile anlaştım ve bana api kodlarını gönderdiler ama içinde xml kodları var. Ben php ile bunu nasıl başarabilirim anlamadım. Bir örnek uygulama var mı?
  • 17-07-2013, 17:01:18
    #2
    Kimlik doğrulama veya yönetimden onay bekliyor.
    api klavuzu var mı?
  • 17-07-2013, 17:03:56
    #3
    http://toplusms.netgsm.com.tr/dokuman/default.asp burayı örnek gösterdiler ama php içinde xml ye numaraları nasıl göndereceğim anlayamadım. Ayrıca 1 mesajı n adet kullanıcıya göndermek için bir form oluşturup onunla göndermeyi düşünüyordum ben olmaz mı acaba?
  • 17-07-2013, 17:05:07
    #4
    asimus adlı üyeden alıntı: mesajı görüntüle
    http://toplusms.netgsm.com.tr/dokuman/default.asp burayı örnek gösterdiler ama php içinde xml ye numaraları nasıl göndereceğim anlayamadım. Ayrıca 1 mesajı n adet kullanıcıya göndermek için bir form oluşturup onunla göndermeyi düşünüyordum ben olmaz mı acaba?
    pm gönderiyorum.


    pm' e gerek yok aslında herkes görsün:

    <?  
    function XMLPOST($PostAddress,$xmlData)
    {
    		$ch = curl_init();
    		curl_setopt($ch, CURLOPT_URL,$PostAddress);
    		curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,1);
    		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;
    }
    $xml='<?xml version="1.0" encoding="iso-8859-9"?>
    <mainbody>
    	<header>
    		<company>NETGSM</company>
            <usercode>KullaniciAdi</usercode>
            <password>Sifre</password>
    		<startdate></startdate>
    		<stopdate></stopdate>
    	    <type>1:n</type>
            <msgheader>MesajBasligi</msgheader>
            </header>
    		<body>
    		<msg><![CDATA[Test Mesaji]]></msg>
    		<no>905121231212</no>
    		</body>
    </mainbody>';
    $gelen=XMLPOST('http://api.netgsm.com.tr/xmlbulkhttppost.asp',$xml);
    echo $gelen;
    ?>

    önce wp'de bir page oluşturup, ardından form ekleyin, formda kullanıcı girmesi gereken şeyleri girsin, ardından yukarıdaki kodu bir gonder.php gibi kaydedip, POST olarak gerekli şeyleri göndertin bu gonder.php'ye...

    daha sonra kullaniciadi sifre yazan yerlere $_POST['kullaniciadi'] ve $_POST['sifre'] gibi değerleri gonder.php içerisinde önceden kaydedip, xmldeki veride değişken olarak yazdırın.

    hepsi bu.
  • 17-07-2013, 17:38:02
    #5
    tamam ama benim anlamadığım bu xml içine değişkenleri nasıl ekliyoruz. İkincisi ise ben belki 200 numaraya aynı anda mesaj göndereceğim hepsini veritabanını sql olarak kaydettim onları xml içine nasıl aktaracağım
  • 17-07-2013, 17:47:47
    #6
    Cappystarj0e 'in verdiği kod işe yarıyorsa, yapacağınız şeyin algoritması şöyle,
    Veritabanından verileri çekip, dizi olarak alın.
    Eğer her numara için tek tek yukarıdaki gibi gönderiliyorsa yani toplu gönderim olayı yoksa (bunu firmadan öğrenmelisiniz) aşağıdaki gibi bir mantık yürüteceksiniz.
    foreach ($numaralar as $numara) {
    $xml='<?xml version="1.0" encoding="iso-8859-9"?> 
    <mainbody> 
        <header> 
            <company>NETGSM</company> 
            <usercode>KullaniciAdi</usercode> 
            <password>Sifre</password> 
            <startdate></startdate> 
            <stopdate></stopdate> 
            <type>1:n</type> 
            <msgheader>MesajBasligi</msgheader> 
            </header> 
            <body> 
            <msg><![CDATA[Test Mesaji]]></msg> 
            <no>' . $numara . '</no> 
            </body> 
    </mainbody>'; 
    $gelen=XMLPOST('http://api.netgsm.com.tr/xmlbulkhttppost.asp',$xml); 
    echo $gelen; 
    }
    şeklinde bir mantıkla, XML kodunu döngü her döndüğünde yeniden oluşturacak ve içerisine $numara değişkenini aktaracak, tabi bunu siz kendi veritabanı ve bilgilerinize göre düzenleyeceksiniz.
  • 17-07-2013, 17:51:13
    #7
    toplu sms gönderme olayı var. <no> </no> tagları arasına tek tek numaraları yazdırmam gerek. Yani

    <no>$no1</no>
    <no>$no2</no>
    <no>$no3</no>

    şeklinde
  • 17-07-2013, 18:02:43
    #8
    O zaman aşağıdaki gibi xml kodunuzu oluşturup, gönderebilirsiniz. foreach döngüsündeki $numaralar sizin veritabanından dönen, numaraların saklı olduğu dizi değişkeni ifade ediyor, eğer mysql, sql, php bilginiz yoksa bilen birinden yardım alıp, kendi veritabanınıza göre düzenleme yapın.

    $xml='<?xml version="1.0" encoding="iso-8859-9"?>  
    <mainbody>  
        <header>  
            <company>NETGSM</company>  
            <usercode>KullaniciAdi</usercode>  
            <password>Sifre</password>  
            <startdate></startdate>  
            <stopdate></stopdate>  
            <type>1:n</type>  
            <msgheader>MesajBasligi</msgheader>  
            </header>  
            <body>  
            <msg><![CDATA[Test Mesaji]]></msg>';
    $nolar = '';
    foreach ($numaralar as $numara) { 
     $nolar .='<no>' . $numara . '</no>';
    }
    $xml = $xml.$nolar. '</body>  </mainbody>';
    
    $gelen=XMLPOST('http://api.netgsm.com.tr/xmlbulkhttppost.asp',$xml);  
    echo $gelen;
  • 17-07-2013, 18:04:06
    #9
    evet @yakuphan bunu yapamamıştım. Teşekkür ederim.